aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2025-01-15 17:42:55 +0000
committerPádraig Brady <P@draigBrady.com>2025-01-15 17:42:55 +0000
commitd60e550ed0ba67455a5952fe8adf27dacf47e680 (patch)
tree5c67ca83a21be2259f48f13fe2cd4df357dc4d75
parenttests: avoid ERRORs with no mntent.h (diff)
downloadcoreutils-d60e550ed0ba67455a5952fe8adf27dacf47e680.tar.gz
coreutils-d60e550ed0ba67455a5952fe8adf27dacf47e680.zip
tac: avoid out of bounds access
This was flagged on CheriBSD on ARM Morello with the error: "In-address space security exception (core dumped)" triggered with: tac -s '' /dev/null * src/tac.c (main): Ensure we don't read beyond the end of the supplied optarg.
-rw-r--r--src/tac.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/tac.c b/src/tac.c
index e4aac77fe..f086f5345 100644
--- a/src/tac.c
+++ b/src/tac.c
@@ -553,7 +553,7 @@ main (int argc, char **argv)
G_buffer = xmalloc (G_buffer_size);
if (sentinel_length)
{
- memcpy (G_buffer, separator, sentinel_length + 1);
+ memcpy (G_buffer, separator, sentinel_length + !!*separator);
G_buffer += sentinel_length;
}
else