diff options
author | NRK <nrk@disroot.org> | 2022-03-25 22:51:09 +0100 |
---|---|---|
committer | rafa_99 <raroma09@gmail.com> | 2022-03-25 23:13:20 +0000 |
commit | 8182d53e2b5d361bb58b2db0b96f3ef6dd1fbae9 (patch) | |
tree | fd3be295ac6fcc6f7e9cfb1f9c4d084b33041bdf /dmenu.c | |
parent | ba321d8c594418bd1243c5392b4cefb0aa09f418 (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.
Diffstat (limited to 'dmenu.c')
-rw-r--r-- | dmenu.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -104,6 +104,9 @@ cleanup(void) XUngrabKey(dpy, AnyKey, AnyModifier, root); for (i = 0; i < SchemeLast; i++) free(scheme[i]); + for (i = 0; items && items[i].text; ++i) + free(items[i].text); + free(items); drw_free(drw); XSync(dpy, False); XCloseDisplay(dpy); @@ -245,7 +248,7 @@ match(void) /* separate input text into tokens to be matched individually */ for (s = strtok(buf, " "); s; tokv[tokc - 1] = s, s = strtok(NULL, " ")) if (++tokc > tokn && !(tokv = realloc(tokv, ++tokn * sizeof *tokv))) - die("cannot realloc %u bytes:", tokn * sizeof *tokv); + die("cannot realloc %zu bytes:", tokn * sizeof *tokv); len = tokc ? strlen(tokv[0]) : 0; matches = lprefix = lsubstr = matchend = prefixend = substrend = NULL; @@ -563,11 +566,11 @@ readstdin(void) for (i = 0; fgets(buf, sizeof buf, stdin); i++) { if (i + 1 >= size / sizeof *items) if (!(items = realloc(items, (size += BUFSIZ)))) - die("cannot realloc %u bytes:", size); + die("cannot realloc %zu bytes:", size); if ((p = strchr(buf, '\n'))) *p = '\0'; if (!(items[i].text = strdup(buf))) - die("cannot strdup %u bytes:", strlen(buf) + 1); + die("cannot strdup %zu bytes:", strlen(buf) + 1); items[i].out = 0; } if (items) |