]> Kevux Git Server - fll/commitdiff
Bugfix: Raw formatted print sometimes prints trailing NULL.
authorKevin Day <thekevinday@gmail.com>
Sat, 11 Dec 2021 03:36:42 +0000 (21:36 -0600)
committerKevin Day <thekevinday@gmail.com>
Sat, 11 Dec 2021 03:36:42 +0000 (21:36 -0600)
A logic flaw is resulting in the last NULL after the max length is reached to be printed.

When the strnlen() calculates the length and the calculated length is the requested max length, the subsequent line attempts to print any NULLs.
This is normally fine, except that it needs to check to make sure that "i" is less than the requested max length.

level_0/f_print/c/private-print.c

index 8251c4fd8ae1e4496ca0f07584e2ceec22c8c9a7..5ac1b10ac4fbe0530d774305da7493e66f08f098 100644 (file)
@@ -522,7 +522,7 @@ extern "C" {
       }
 
       // Print all NULL characters.
-      if (!string[i]) {
+      if (i < length && !string[i]) {
         start = i;
 
         do {