Comments
Patch
@@ -50,13 +50,15 @@ char *fwts_realloc_strcat(char *orig, const char *newstr)
size_t newlen = strlen(newstr);
if (orig) {
- if ((orig = realloc(orig, strlen(orig) + newlen + 1)) == NULL)
+ newlen += strlen(orig) + 1;
+ if ((orig = realloc(orig, newlen)) == NULL)
return NULL;
- strcat(orig, newstr);
+ strncat(orig, newstr, newlen);
} else {
- if ((orig = malloc(newlen + 1)) == NULL)
+ newlen++;
+ if ((orig = malloc(newlen)) == NULL)
return NULL;
- strcpy(orig, newstr);
+ strncpy(orig, newstr, newlen);
}
return orig;
}