commit 8331683470d6461305fa990d167c7f9b3be031e2 from: Mark Jamsek via: Thomas Adam date: Thu Jun 23 14:09:34 2022 UTC plug realloc memleak and style(9) fixes in expand_tab() fixes and ok from tb@ commit - f91a2b483b4be113fca62a06cd1c43795052af81 commit + 8331683470d6461305fa990d167c7f9b3be031e2 blob - 8fe2c6de3560c3d5226e2d23a8e6dd5b3abb381f blob + 4f087d68637fa1841d7e7bedb7c5e2c6b3f5ad99 --- tog/tog.c +++ tog/tog.c @@ -1239,7 +1239,7 @@ expand_tab(char **ptr, const char *src) *ptr = NULL; n = len = strlen(src); - dst = malloc((n + 1) * sizeof(char)); + dst = malloc(n + 1); if (dst == NULL) return got_error_from_errno("malloc"); @@ -1248,11 +1248,15 @@ expand_tab(char **ptr, const char *src) if (c == '\t') { size_t nb = TABSIZE - sz % TABSIZE; + char *p = realloc(dst, n + nb); + if (p == NULL) { + free(dst); + return got_error_from_errno("realloc"); + + } + dst = p; n += nb; - dst = reallocarray(dst, n, sizeof(char)); - if (dst == NULL) - return got_error_from_errno("reallocarray"); - memcpy(dst + sz, " ", nb); + memset(dst + sz, ' ', nb); sz += nb; } else dst[sz++] = src[idx];