summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/utils.c21
1 files changed, 2 insertions, 19 deletions
diff --git a/plugins/utils.c b/plugins/utils.c
index 6e52dab..05d3f79 100644
--- a/plugins/utils.c
+++ b/plugins/utils.c
@@ -415,26 +415,9 @@ strscpy (char *dest, const char *src)
415char * 415char *
416strscat (char *dest, const char *src) 416strscat (char *dest, const char *src)
417{ 417{
418 size_t len, l2;
419
420 if (src == NULL)
421 return dest;
422 else
423 l2 = strlen (src);
424
425 if (dest == NULL) {
426 len = 0;
427 dest = malloc (l2 + 1);
428 } else {
429 len = strlen (dest);
430 dest = realloc (dest, len + l2 + 1);
431 }
432 418
433 if (dest == NULL) 419 if (src != NULL)
434 terminate (STATE_UNKNOWN, "failed malloc in strscat\n"); 420 asprintf (&dest, "%s%s", dest, src);
435
436 strncpy (dest + len, src, l2);
437 dest[len + l2] = '\0';
438 421
439 return dest; 422 return dest;
440} 423}