]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
backends: Make the reloc_nametable zero element an one char array.
authorMark Wielaard <mark@klomp.org>
Tue, 16 Jun 2020 15:53:08 +0000 (17:53 +0200)
committerMark Wielaard <mark@klomp.org>
Fri, 19 Jun 2020 11:42:57 +0000 (13:42 +0200)
We are using the reloc_nametable zero element as an char array.
So make that element an actual array (we are actually after one
of the next string arrays in the table).

Signed-off-by: Mark Wielaard <mark@klomp.org>
backends/ChangeLog
backends/common-reloc.c

index 7d3578b03826ebc022b48944cde7240dbb307881..c85dfd2aee83f75b1b31065a18e7264d434cf020 100644 (file)
@@ -1,3 +1,9 @@
+2020-06-16  Mark Wielard  <mark@klomp.org>
+
+       * common-reloc.c (reloc_nametable): Make zero a 1 char array.
+       Initialize it as an array { '\0' }.
+       (reloc_type_name): Access zero as an array.
+
 2020-06-10  Mark Wielard  <mark@klomp.org>
 
        * aarch64_init.c (aarch64_init): Remove ehlen, return eh.
index 096ed1c737c32b0282acd1d7250fcb47ceb0d65d..a91bc87d386c258d6ffb11c12ae631050f70128b 100644 (file)
 
 static const struct EBLHOOK(reloc_nametable)
 {
-  char zero;
+  char zero[1];
 #define        RELOC_TYPE(type, uses) \
   char name_##type[sizeof R_NAME (type)];
 #include RELOC_TYPES
 #undef RELOC_TYPE
 } EBLHOOK(reloc_nametable) =
   {
-    '\0',
+    { '\0' },
 #define        RELOC_TYPE(type, uses) R_NAME (type),
 #include RELOC_TYPES
 #undef RELOC_TYPE
@@ -92,7 +92,7 @@ EBLHOOK(reloc_type_name) (int reloc,
 #endif
 
   if (reloc >= 0 && reloc < nreloc && EBLHOOK(reloc_nameidx)[reloc] != 0)
-    return &reloc_namestr[EBLHOOK(reloc_nameidx)[reloc]];
+    return reloc_namestr[EBLHOOK(reloc_nameidx)[reloc]];
   return NULL;
 }