[binutils-gdb] arm: uninitialised exp.X_op

Alan Modra amodra@sourceware.org
Tue Aug 11 00:03:42 GMT 2026


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8e6c4f526a68b796b7bd71d53e4dc459ac56c3ef

commit 8e6c4f526a68b796b7bd71d53e4dc459ac56c3ef
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Aug 10 17:45:00 2026 +0930

    arm: uninitialised exp.X_op
    
            * config/tc-arm.c (my_get_expression): Move initialisation of
            expression before first return from function.

Diff:
---
 gas/config/tc-arm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index ba599ef1fda..c02d3101cc1 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -1141,6 +1141,8 @@ my_get_expression (expressionS * ep, char ** str, int prefix_mode)
 {
   char * save_in;
 
+  memset (ep, 0, sizeof (expressionS));
+
   /* In unified syntax, all prefixes are optional.  */
   if (unified_syntax)
     prefix_mode = (prefix_mode == GE_OPT_PREFIX_BIG) ? prefix_mode
@@ -1166,8 +1168,6 @@ my_get_expression (expressionS * ep, char ** str, int prefix_mode)
       abort ();
     }
 
-  memset (ep, 0, sizeof (expressionS));
-
   save_in = input_line_pointer;
   input_line_pointer = *str;
   in_my_get_expression = true;


More information about the Binutils-cvs mailing list