summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Wielaard <[email protected]>2017-02-12 21:51:34 +0100
committerMark Wielaard <[email protected]>2017-03-24 17:45:53 +0100
commit93c51144c3f664d4e9709da75a1d0fa00ea0fe95 (patch)
tree1841bc458a9c5becfd32a4c071a65904722103af
parentb1042ce216eaef96099f263fb81141dbdec004fd (diff)
libasm: Fix one GCC7 -Wformat-truncation=2 warning.
Make sure that if we have really lots of labels the tempsym doesn't get truncated because it is too small to hold the whole name. This doesn't enable -Wformat-truncation=2 or fix other "issues" pointed out by enabling this warning because there are currently some issues with it. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79448 Signed-off-by: Mark Wielaard <[email protected]>
-rw-r--r--libasm/ChangeLog6
-rw-r--r--libasm/asm_newsym.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/libasm/ChangeLog b/libasm/ChangeLog
index 26fc5a95..16568422 100644
--- a/libasm/ChangeLog
+++ b/libasm/ChangeLog
@@ -1,8 +1,12 @@
+2017-02-12 Mark Wielaard <[email protected]>
+
+ * asm_newsym.c (asm_newsym): Increase TEMPSYMLEN to 13.
+
2017-02-15 Ulf Hermann <[email protected]>
* disasm_str.c: Include system.h.
-2015-10-11 Akihiko Odaki <[email protected]>
+2016-10-11 Akihiko Odaki <[email protected]>
* asm_align.c: Remove sys/param.h include.
diff --git a/libasm/asm_newsym.c b/libasm/asm_newsym.c
index 332432a9..53891668 100644
--- a/libasm/asm_newsym.c
+++ b/libasm/asm_newsym.c
@@ -1,5 +1,5 @@
/* Define new symbol for current position in given section.
- Copyright (C) 2002, 2005, 2016 Red Hat, Inc.
+ Copyright (C) 2002, 2005, 2016, 2017 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <[email protected]>, 2002.
@@ -44,7 +44,9 @@ AsmSym_t *
asm_newsym (AsmScn_t *asmscn, const char *name, GElf_Xword size,
int type, int binding)
{
-#define TEMPSYMLEN 10
+/* We don't really expect labels with many digits, but in theory it could
+ be 10 digits (plus ".L" and a zero terminator). */
+#define TEMPSYMLEN 13
char tempsym[TEMPSYMLEN];
AsmSym_t *result;