aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNRK <nrk@disroot.org>2022-03-25 22:51:09 +0100
committerHiltjo Posthuma <hiltjo@codemadness.org>2022-03-25 22:53:50 +0100
commitb43ec0577f2ad8ad33a0b893fe5360d966036786 (patch)
tree884cebe5dc68242733e9a8e916fc16932e695793
parent22511c41d55a38a770541ae617a09383d5e6ad1c (diff)
free all allocated items, use %zu for size_t
`items` itself is not checked for NULL as calling free on NULL is defined to be a no-op.
-rw-r--r--dmenu.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/dmenu.c b/dmenu.c
index d989d39..085dc29 100644
--- a/dmenu.c
+++ b/dmenu.c
@@ -104,6 +104,9 @@ cleanup(void)
104 XUngrabKey(dpy, AnyKey, AnyModifier, root); 104 XUngrabKey(dpy, AnyKey, AnyModifier, root);
105 for (i = 0; i < SchemeLast; i++) 105 for (i = 0; i < SchemeLast; i++)
106 free(scheme[i]); 106 free(scheme[i]);
107 for (i = 0; items && items[i].text; ++i)
108 free(items[i].text);
109 free(items);
107 drw_free(drw); 110 drw_free(drw);
108 XSync(dpy, False); 111 XSync(dpy, False);
109 XCloseDisplay(dpy); 112 XCloseDisplay(dpy);
@@ -239,7 +242,7 @@ match(void)
239 /* separate input text into tokens to be matched individually */ 242 /* separate input text into tokens to be matched individually */
240 for (s = strtok(buf, " "); s; tokv[tokc - 1] = s, s = strtok(NULL, " ")) 243 for (s = strtok(buf, " "); s; tokv[tokc - 1] = s, s = strtok(NULL, " "))
241 if (++tokc > tokn && !(tokv = realloc(tokv, ++tokn * sizeof *tokv))) 244 if (++tokc > tokn && !(tokv = realloc(tokv, ++tokn * sizeof *tokv)))
242 die("cannot realloc %u bytes:", tokn * sizeof *tokv); 245 die("cannot realloc %zu bytes:", tokn * sizeof *tokv);
243 len = tokc ? strlen(tokv[0]) : 0; 246 len = tokc ? strlen(tokv[0]) : 0;
244 247
245 matches = lprefix = lsubstr = matchend = prefixend = substrend = NULL; 248 matches = lprefix = lsubstr = matchend = prefixend = substrend = NULL;
@@ -553,11 +556,11 @@ readstdin(void)
553 for (i = 0; fgets(buf, sizeof buf, stdin); i++) { 556 for (i = 0; fgets(buf, sizeof buf, stdin); i++) {
554 if (i + 1 >= size / sizeof *items) 557 if (i + 1 >= size / sizeof *items)
555 if (!(items = realloc(items, (size += BUFSIZ)))) 558 if (!(items = realloc(items, (size += BUFSIZ))))
556 die("cannot realloc %u bytes:", size); 559 die("cannot realloc %zu bytes:", size);
557 if ((p = strchr(buf, '\n'))) 560 if ((p = strchr(buf, '\n')))
558 *p = '\0'; 561 *p = '\0';
559 if (!(items[i].text = strdup(buf))) 562 if (!(items[i].text = strdup(buf)))
560 die("cannot strdup %u bytes:", strlen(buf) + 1); 563 die("cannot strdup %zu bytes:", strlen(buf) + 1);
561 items[i].out = 0; 564 items[i].out = 0;
562 } 565 }
563 if (items) 566 if (items)