diff options
Diffstat (limited to 'package/config/util.c')
-rw-r--r-- | package/config/util.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/package/config/util.c b/package/config/util.c index d782f4b87..a68f7529e 100644 --- a/package/config/util.c +++ b/package/config/util.c @@ -188,12 +188,15 @@ void str_free(struct gstr *gs) /* Append to growable string */ void str_append(struct gstr *gs, const char *s) { - size_t l = strlen(gs->s) + strlen(s) + 1; - if (l > gs->len) { - gs->s = realloc(gs->s, l); - gs->len = l; + size_t l; + if (s) { + l = strlen(gs->s) + strlen(s) + 1; + if (l > gs->len) { + gs->s = realloc(gs->s, l); + gs->len = l; + } + strcat(gs->s, s); } - strcat(gs->s, s); } /* Append printf formatted string to growable string */ |