[X2Go-Commits] [nx-libs] 49/108: Clipboard.c: add macro for safe XFree calls with ptr clearance
git-admin at x2go.org
git-admin at x2go.org
Fri Nov 9 20:35:44 CET 2018
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository nx-libs.
commit 85a28a68e90537c3b82e83bd8ff07a8e116ff00a
Author: Ulrich Sibiller <uli42 at gmx.de>
Date: Tue Oct 9 23:00:08 2018 +0200
Clipboard.c: add macro for safe XFree calls with ptr clearance
---
nx-X11/programs/Xserver/hw/nxagent/Clipboard.c | 53 ++++++++------------------
nx-X11/programs/Xserver/hw/nxagent/Utils.h | 2 +
2 files changed, 18 insertions(+), 37 deletions(-)
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
index 0b78c2f..a928715 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
@@ -211,9 +211,9 @@ void nxagentPrintClipboardStat(char *header)
fprintf(stderr, "lastServer\n");
fprintf(stderr, " lastServerRequestor (Window) [0x%x]\n", lastServerRequestor);
- if (s) XFree(s); s = XGetAtomName(nxagentDisplay, lastServerProperty);
+ SAFE_XFree(s); s = XGetAtomName(nxagentDisplay, lastServerProperty);
fprintf(stderr, " lastServerProperty (Atom) [% 4d][%s]\n", lastServerProperty, s);
- if (s) XFree(s); s = XGetAtomName(nxagentDisplay, lastServerTarget);
+ SAFE_XFree(s); s = XGetAtomName(nxagentDisplay, lastServerTarget);
fprintf(stderr, " lastServerTarget (Atom) [% 4d][%s]\n", lastServerTarget, s);
fprintf(stderr, " lastServerTime (Time) [%u]\n", lastServerTime);
@@ -246,18 +246,18 @@ void nxagentPrintClipboardStat(char *header)
fprintf(stderr, " CurrentSelections[].window [0x%x]\n", CurrentSelections[nxagentClipboardSelection].window);
fprintf(stderr, "Atoms (server side)\n");
- if (s) XFree(s); s = XGetAtomName(nxagentDisplay, serverTARGETS);
+ SAFE_XFree(s); s = XGetAtomName(nxagentDisplay, serverTARGETS);
fprintf(stderr, " serverTARGETS [% 4d][%s]\n", serverTARGETS, validateString(s));
- if (s) XFree(s); s = XGetAtomName(nxagentDisplay, serverTEXT);
+ SAFE_XFree(s); s = XGetAtomName(nxagentDisplay, serverTEXT);
fprintf(stderr, " serverTEXT [% d][%s]\n", serverTEXT, s);
- if (s) XFree(s); s = XGetAtomName(nxagentDisplay, serverUTF8_STRING);
+ SAFE_XFree(s); s = XGetAtomName(nxagentDisplay, serverUTF8_STRING);
fprintf(stderr, " serverUTF8_STRING [% 4d][%s]\n", serverUTF8_STRING, s);
- if (s) XFree(s); s = XGetAtomName(nxagentDisplay, serverCutProperty);
+ SAFE_XFree(s); s = XGetAtomName(nxagentDisplay, serverCutProperty);
fprintf(stderr, " serverCutProperty [% 4d][%s]\n", serverCutProperty, s);
- if (s) XFree(s); s = XGetAtomName(nxagentDisplay, nxagentClipboardAtom);
+ SAFE_XFree(s); s = XGetAtomName(nxagentDisplay, nxagentClipboardAtom);
fprintf(stderr, " nxagentClipboardAtom [% 4d][%s]\n", nxagentClipboardAtom, s);
- if (s) XFree(s); s = XGetAtomName(nxagentDisplay, nxagentTimestampAtom);
+ SAFE_XFree(s); s = XGetAtomName(nxagentDisplay, nxagentTimestampAtom);
fprintf(stderr, " nxagentTimestampAtom [% 4d][%s]\n", nxagentTimestampAtom, s);
fprintf(stderr, "Atoms (inside nxagent)\n");
@@ -270,7 +270,7 @@ void nxagentPrintClipboardStat(char *header)
fprintf(stderr, "\\------------------------------------------------------------------------------\n");
- if (s) XFree(s); s = NULL;
+ SAFE_XFree(s);
#endif
}
@@ -460,10 +460,7 @@ FIXME: Do we need this?
fprintf(stderr, "SelectionRequest event aborting sele=[%s] ext target=[%s] Atom size is [%d]\n",
validateString(NameForAtom(X->xselectionrequest.selection)), strTarget, sizeof(Atom));
- if (strTarget != NULL)
- {
- XFree(strTarget);
- }
+ SAFE_XFree(strTarget);
*/
memset(&eventSelection, 0, sizeof(XSelectionEvent));
eventSelection.property = None;
@@ -843,11 +840,7 @@ void nxagentCollectPropertyEvent(int resource)
lastClientWindowPtr = NULL;
SetClientSelectionStage(None);
- if (pszReturnData != NULL)
- {
- XFree(pszReturnData);
- }
-
+ SAFE_XFree(pszReturnData);
return;
}
@@ -867,11 +860,7 @@ void nxagentCollectPropertyEvent(int resource)
lastClientWindowPtr = NULL;
SetClientSelectionStage(None);
- if (pszReturnData != NULL)
- {
- XFree(pszReturnData);
- }
-
+ SAFE_XFree(pszReturnData);
return;
}
@@ -897,11 +886,7 @@ void nxagentCollectPropertyEvent(int resource)
lastClientWindowPtr = NULL;
SetClientSelectionStage(None);
- if (pszReturnData != NULL)
- {
- XFree(pszReturnData);
- }
-
+ SAFE_XFree(pszReturnData);
return;
}
@@ -940,11 +925,7 @@ void nxagentCollectPropertyEvent(int resource)
lastClientWindowPtr = NULL;
SetClientSelectionStage(None);
- if (pszReturnData != NULL)
- {
- XFree(pszReturnData);
- }
-
+ SAFE_XFree(pszReturnData);
return;
}
@@ -985,8 +966,7 @@ void nxagentCollectPropertyEvent(int resource)
}
}
- XFree(pszReturnData);
- pszReturnData = NULL;
+ SAFE_XFree(pszReturnData);
}
void nxagentNotifySelection(XEvent *X)
@@ -1122,8 +1102,7 @@ void nxagentNotifySelection(XEvent *X)
}
/*
- * XFree(pszReturnData);
- * pszReturnData=NULL;
+ * SAFE_XFree(pszReturnData);
*/
}
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Utils.h b/nx-X11/programs/Xserver/hw/nxagent/Utils.h
index 63904e2..c0ad033 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Utils.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Utils.h
@@ -44,4 +44,6 @@ static inline const char * validateString(const char *str) {
return str ? str : "(null)";
}
+#define SAFE_XFree(what) do {if (what) {XFree(what); what = NULL;}} while (0)
+
#endif /* __Utils_H__ */
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
More information about the x2go-commits
mailing list