diff options
author | Hiltjo Posthuma | 2017-11-03 15:31:37 +0100 |
---|---|---|
committer | Hiltjo Posthuma | 2017-11-03 21:07:02 +0100 |
commit | 1cabeda5505dcc35d4d2ca2a09151a7c449fb401 (patch) | |
tree | ad202761d53c00ee527e3acec24180a04d606ff6 | |
parent | 41379f7c39e6aa0a17d7807b22b49ea148f5b0fa (diff) |
fix a possible free of a uninitialize variable in paste()
-rw-r--r-- | dmenu.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -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(); } |