]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
libio: Fix UB __libio_codecvt_length
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 22 Apr 2025 12:02:54 +0000 (09:02 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 7 May 2025 17:21:21 +0000 (14:21 -0300)
To avoid a 0 size VLA.

libio/iofwide.c

index c00b83c703cb44c4acfaf47f878d3b387e3193cc..e9d6e51ac70b8e7d8e303902bbb87a0c05396696 100644 (file)
@@ -228,6 +228,9 @@ __libio_codecvt_length (struct _IO_codecvt *codecvt, __mbstate_t *statep,
                        const char *from_start, const char *from_end,
                        size_t max)
 {
+  if (max == 0)
+    return 0;
+
   int result;
   const unsigned char *cp = (const unsigned char *) from_start;
   wchar_t to_buf[max];