diff options
| author | NRK <nrk@disroot.org> | 2022-03-25 22:51:09 +0100 |
|---|---|---|
| committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2022-03-25 22:53:50 +0100 |
| commit | b43ec0577f2ad8ad33a0b893fe5360d966036786 (patch) | |
| tree | 884cebe5dc68242733e9a8e916fc16932e695793 | |
| parent | 22511c41d55a38a770541ae617a09383d5e6ad1c (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.c | 9 |
1 files changed, 6 insertions, 3 deletions
| @@ -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) |
