]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
intl: Avoid -Wuse-after-free [BZ #26779]
authorMartin Sebor <msebor@redhat.com>
Wed, 26 Jan 2022 00:38:31 +0000 (17:38 -0700)
committerMartin Sebor <msebor@redhat.com>
Wed, 26 Jan 2022 00:38:31 +0000 (17:38 -0700)
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
intl/localealias.c

index 3ae360f40d202fc3ff3d1eca89e501742737bd0e..b36092363abe45d9b9cd0b74c6b52e2557828cfa 100644 (file)
@@ -318,7 +318,15 @@ read_alias_file (const char *fname, int fname_len)
 
                  if (string_space_act + alias_len + value_len > string_space_max)
                    {
-                     /* Increase size of memory pool.  */
+#pragma GCC diagnostic push
+
+#if defined __GNUC__ && __GNUC__ >= 12
+  /* Suppress the valid GCC 12 warning until the code below is changed
+     to avoid using pointers to the reallocated block.  */
+#  pragma GCC diagnostic ignored "-Wuse-after-free"
+#endif
+
+                   /* Increase size of memory pool.  */
                      size_t new_size = (string_space_max
                                         + (alias_len + value_len > 1024
                                            ? alias_len + value_len : 1024));
@@ -351,6 +359,8 @@ read_alias_file (const char *fname, int fname_len)
                                           value, value_len);
                  string_space_act += value_len;
 
+#pragma GCC diagnostic pop
+
                  ++nmap;
                  ++added;
                }