From 4aa3e325e038349730ecd5d41848b98a1cdcdf4b Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 27 Feb 2004 12:21:57 +0000 Subject: [PATCH] Fix seg fault on erroneous input --- gas/ChangeLog | 5 +++++ gas/config/tc-sh.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 60d17ae51d0..10646356504 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2004-02-27 Anil Paranjpe + + * config/tc-sh.c (get_operand): In case of #Imm, check has been + added for wrong syntax. + 2004-02-26 Eric Christopher * config/tc-mips.c (mips_dwarf2_addr_size): New. diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c index 3e410e30385..b2c3694c810 100644 --- a/gas/config/tc-sh.c +++ b/gas/config/tc-sh.c @@ -1,6 +1,6 @@ /* tc-sh.c -- Assemble code for the Renesas / SuperH SH - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 - Free Software Foundation, Inc. + Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, + 2003, 2004 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -1426,6 +1426,8 @@ get_operand (char **ptr, sh_operand_info *op) if (src[0] == '#') { + if (! ISDIGIT (src[1])) + as_bad (_("syntax error in #Imm")); src++; *ptr = parse_exp (src, op); op->type = A_IMM; -- 2.30.2