]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
iconv: Fix UB on iconv/tst-translit-mchar
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 21 Apr 2025 20:51:37 +0000 (17:51 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 7 May 2025 17:21:21 +0000 (14:21 -0300)
Building with ubsan, the test triggers:

UBSAN: Undefined behaviour in programs/locfile.c:598:3 null pointer passed as argument 2, nonnull attribute declared at unknown:0:0

The obstack_grow is only define for size > 0.

locale/programs/locfile.c

index 7907c949eab9cdbaa40ceac23b3b530493f7e116..0b66a6bde19488764733563682fa1791832dc396 100644 (file)
@@ -595,6 +595,8 @@ void
 add_locale_raw_data (struct locale_file *file, const void *data, size_t size)
 {
   record_offset (file);
+  if (size == 0)
+    return;
   obstack_grow (&file->data, data, size);
 }