aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/elfedit.c9
2 files changed, 8 insertions, 6 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 2e24faf..49e1f05 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2020-11-09 Alan Modra <amodra@gmail.com>
+
+ * elfedit (usage): Avoid false positive "may be used uninitialised".
+ Don't leak memory.
+
2020-11-09 Howard Chu <hyc@symas.com>
* ar.c (main): Use plugin_target rather than "target" when
diff --git a/binutils/elfedit.c b/binutils/elfedit.c
index 5fffe84..55474ff 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 <option(s)> elffile(s)\n"),
program_name);