diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 2e24fafb767..49e1f051804 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2020-11-09 Alan Modra + + * elfedit (usage): Avoid false positive "may be used uninitialised". + Don't leak memory. + 2020-11-09 Howard Chu * ar.c (main): Use plugin_target rather than "target" when diff --git a/binutils/elfedit.c b/binutils/elfedit.c index 5fffe845d86..55474ffbbce 100644 --- a/binutils/elfedit.c +++ b/binutils/elfedit.c @@ -895,13 +895,10 @@ ATTRIBUTE_NORETURN static void usage (FILE *stream, int exit_status) { unsigned int i; - char *osabi; + char *osabi = concat (osabis[0].name, NULL); - for (i = 0; i < ARRAY_SIZE (osabis); i++) - if (i == 0) - osabi = concat (osabis[i].name, NULL); - else - osabi = concat (osabi, "|", osabis[i].name, NULL); + for (i = 1; i < ARRAY_SIZE (osabis); i++) + osabi = reconcat (osabi, "|", osabis[i].name, NULL); fprintf (stream, _("Usage: %s elffile(s)\n"), program_name);