[PATCH] libbb: ensure mode_string is NUL terminated
Ron Yorston
rmy at pobox.com
Fri Sep 17 09:16:06 UTC 2021
If the mode_string array is no longer static we can't rely on
it being NUL terminated.
function old new delta
bb_mode_string 145 156 +11
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 11/0) Total: 11 bytes
Signed-off-by: Ron Yorston <rmy at pobox.com>
---
libbb/mode_string.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/libbb/mode_string.c b/libbb/mode_string.c
index 2b829016f..39a655d35 100644
--- a/libbb/mode_string.c
+++ b/libbb/mode_string.c
@@ -66,10 +66,7 @@ char* FAST_FUNC bb_mode_string(char buf[12], mode_t mode)
i += 4;
} while (i < 12);
- /* Note: We don't bother with nul termination because bss initialization
- * should have taken care of that for us. If the user scribbled in buf
- * memory, they deserve whatever happens. But we'll at least assert. */
- assert(buf[10] == 0);
+ buf[10] = '\0';
return buf;
}
@@ -107,10 +104,7 @@ char* FAST_FUNC bb_mode_string(char buf[12], mode_t mode)
}
} while (i < 3);
- /* Note: We don't bother with nul termination because bss initialization
- * should have taken care of that for us. If the user scribbled in buf
- * memory, they deserve whatever happens. But we'll at least assert. */
- assert(buf[10] == 0);
+ buf[10] = '\0';
return buf;
}
--
2.31.1
More information about the busybox
mailing list