common: do not invoke _internal_strscpy in strscat when not enough space
authorFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 2 Jun 2016 19:05:17 +0000 (21:05 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 2 Jun 2016 20:06:48 +0000 (22:06 +0200)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
src/common/string_handling.c

index 7f44be4..122fba2 100644 (file)
@@ -133,5 +133,8 @@ char * strscat(char *dest, const char *src, size_t dest_size) {
   assert(dest_size);
 
   dst_content_len = strlen(dest);
-  return _internal_strscpy(dest + dst_content_len, src, dest_size > dst_content_len ? dest_size - dst_content_len : 0);
+  if ((dest_size - dst_content_len) <= 0) {
+    return dest;
+  }
+  return _internal_strscpy(dest + dst_content_len, src, dest_size - dst_content_len);
 }