summaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2020-06-16 17:53:08 +0200
committerMark Wielaard <mark@klomp.org>2020-06-19 13:42:57 +0200
commit0d70fc0cb868ef95b25137d62bdaefa4a1462330 (patch)
tree5b6cabd2ecbb10a0a5b65a4d6b3d11bc7ac87957 /backends
parentbca87ed8a200b8845e82b06fa94e69cd637dfea3 (diff)
downloadelfutils-0d70fc0cb868ef95b25137d62bdaefa4a1462330.tar.gz
backends: Make the reloc_nametable zero element an one char array.
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>
Diffstat (limited to 'backends')
-rw-r--r--backends/ChangeLog6
-rw-r--r--backends/common-reloc.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/backends/ChangeLog b/backends/ChangeLog
index 7d3578b0..c85dfd2a 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -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.
diff --git a/backends/common-reloc.c b/backends/common-reloc.c
index 096ed1c7..a91bc87d 100644
--- a/backends/common-reloc.c
+++ b/backends/common-reloc.c
@@ -45,14 +45,14 @@
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;
}