]> git.ipfire.org Git - thirdparty/gnulib.git/commitdiff
strerror_r: Ensure a trailing NUL when truncating.
authorBruno Haible <bruno@clisp.org>
Tue, 16 Sep 2025 14:51:55 +0000 (16:51 +0200)
committerBruno Haible <bruno@clisp.org>
Tue, 16 Sep 2025 14:51:55 +0000 (16:51 +0200)
* lib/strerror_r.c (strerror_r): Fix use of snprintf.

ChangeLog
lib/strerror_r.c

index bbf3ce8741c262f86b537cc841e3d743795377f8..73b7ff269ceeceb8a813b342c284d0376f79d130 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2025-09-16  Bruno Haible  <bruno@clisp.org>
+
+       strerror_r: Ensure a trailing NUL when truncating.
+       * lib/strerror_r.c (strerror_r): Fix use of snprintf.
+
 2025-09-16  Bruno Haible  <bruno@clisp.org>
 
        strtof: Work around mingw bug with overflow.
index 9c0161cd01c2dfb6e257fc316583cdc2a855d245..b67684ebe648320646b02c220cd52def432263b6 100644 (file)
@@ -450,10 +450,11 @@ strerror_r (int errnum, char *buf, size_t buflen)
 #endif
 #if defined __HAIKU__
         /* For consistency with perror().  */
-        snprintf (buf, buflen, "Unknown Application Error (%d)", errnum);
+        snprintf (buf, buflen - 1, "Unknown Application Error (%d)", errnum);
 #else
-        snprintf (buf, buflen, "Unknown error %d", errnum);
+        snprintf (buf, buflen - 1, "Unknown error %d", errnum);
 #endif
+        buf[buflen - 1] = '\0';
       }
 
     errno = saved_errno;