]> Kevux Git Server - fll/commitdiff
Bugfix: The f_string_dynamic_strip_null() memmove()'s out of range.
authorKevin Day <kevin@kevux.org>
Fri, 9 Feb 2024 02:46:14 +0000 (20:46 -0600)
committerKevin Day <kevin@kevux.org>
Fri, 9 Feb 2024 02:59:31 +0000 (20:59 -0600)
The i is a position rather than the total count.
Add 1 to the i.

This will need unit tests written to better catch these problems.

level_0/f_string/c/string/dynamic.c

index 11acd723ba92fc91f38771bf3d2515b78be6d404..8806fff582da9485fd8cfcaa4a9ccdf61920f31b 100644 (file)
@@ -657,7 +657,7 @@ extern "C" {
           j = i;
         }
 
-        memmove(buffer->string + j, buffer->string + i + 1, buffer->used - i);
+        memmove(buffer->string + j, buffer->string + i + 1, buffer->used - (i + 1));
         memset(buffer->string + (buffer->used - (i - j) - 1), 0, (i - j) + 1);
 
         buffer->used -= (i - j) + 1;