summaryrefslogtreecommitdiff
path: root/package/config/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'package/config/util.c')
-rw-r--r--package/config/util.c13
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 */