This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] PR19896, Segmentation fault on bad input


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

commit 62bd6b5fa4697a0feef745f3ea79a9f2a28c163f
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Apr 2 17:17:26 2016 +1030

    PR19896, Segmentation fault on bad input
    
    	PR 19896
    	* read.c (assign_symbol): Consume rest of line after an error
    	rather than continuing to process the line.

Diff:
---
 gas/ChangeLog | 6 ++++++
 gas/read.c    | 4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index dce15a1..6c76391 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2016-04-02  Alan Modra  <amodra@gmail.com>
+
+	PR 19896
+	* read.c (assign_symbol): Consume rest of line after an error
+	rather than continuing to process the line.
+
 2016-04-01  Andrew Burgess  <andrew.burgess@embecosm.com>
 
 	* config/tc-arc.h (MAX_FLAG_NAME_LENGHT): Rename to...
diff --git a/gas/read.c b/gas/read.c
index 35d44c1..a940ff3 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -3255,7 +3255,9 @@ assign_symbol (char *name, int mode)
 	  && !S_CAN_BE_REDEFINED (symbolP))
 	{
 	  as_bad (_("symbol `%s' is already defined"), name);
-	  symbolP = symbol_clone (symbolP, 0);
+	  ignore_rest_of_line ();
+	  input_line_pointer--;
+	  return;
 	}
       /* If the symbol is volatile, copy the symbol and replace the
 	 original with the copy, so that previous uses of the symbol will


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]