Make sure that if we have really many 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 <m...@klomp.org> --- libasm/ChangeLog | 6 +++++- libasm/asm_newsym.c | 6 ++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/libasm/ChangeLog b/libasm/ChangeLog index fe06007..3f842f0 100644 --- a/libasm/ChangeLog +++ b/libasm/ChangeLog @@ -1,4 +1,8 @@ -2015-10-11 Akihiko Odaki <akihiko.odaki...@stu.hosei.ac.jp> +2017-02-12 Mark Wielaard <m...@redhat.com> + + * asm_newsym.c (asm_newsym): Increase TEMPSYMLEN to 13. + +2016-10-11 Akihiko Odaki <akihiko.odaki...@stu.hosei.ac.jp> * asm_align.c: Remove sys/param.h include. diff --git a/libasm/asm_newsym.c b/libasm/asm_newsym.c index 332432a..5389166 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 <drep...@redhat.com>, 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; -- 1.8.3.1