dmenu

my fork of dmenu
Index Commits Files Refs README LICENSE
commit 1cabeda5505dcc35d4d2ca2a09151a7c449fb401
parent 41379f7c39e6aa0a17d7807b22b49ea148f5b0fa
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Fri,  3 Nov 2017 15:31:37 +0100

fix a possible free of a uninitialize variable in paste()

Diffstat:
Mdmenu.c | 10++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/dmenu.c b/dmenu.c
@@ -467,10 +467,12 @@ paste(void)
     Atom da;
 
     /* we have been given the current selection, now insert it into input */
-    XGetWindowProperty(dpy, win, utf8, 0, (sizeof text / 4) + 1, False,
-                       utf8, &da, &di, &dl, &dl, (unsigned char **)&p);
-    insert(p, (q = strchr(p, '\n')) ? q - p : (ssize_t)strlen(p));
-    XFree(p);
+    if (XGetWindowProperty(dpy, win, utf8, 0, (sizeof text / 4) + 1, False,
+                       utf8, &da, &di, &dl, &dl, (unsigned char **)&p)
+        == Success && p) {
+        insert(p, (q = strchr(p, '\n')) ? q - p : (ssize_t)strlen(p));
+        XFree(p);
+    }
     drawmenu();
 }