From 6dcfc42f6893f4e49cb8d8e9fe1bfedcb783bb20 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 26 Jan 2021 12:20:23 +1030 Subject: [PATCH] Segmentation fault i386-gen A case of inst->next being uninitialised. * i386-gen.c (parse_template): Ensure entire template_instance is initialised. (cherry picked from commit c3ffb8f340f567949f24c3bab62259f0e593637f) --- opcodes/ChangeLog | 5 +++++ opcodes/i386-gen.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index fada4f8c94b..ced84d63a77 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2021-01-26 Alan Modra + + * i386-gen.c (parse_template): Ensure entire template_instance + is initialised. + 2020-10-07 H.J. Lu PR gas/26685 diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index 7230f873445..09615f6069c 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -1465,6 +1465,8 @@ parse_template (char *buf, int lineno) *end++ = '\0'; inst = xmalloc (sizeof (*inst)); + inst->next = NULL; + inst->args = NULL; cur = next_field (buf, ':', &next, end); inst->name = xstrdup (cur); -- 2.47.3