Fix seg fault on erroneous input
authorNick Clifton <nickc@redhat.com>
Fri, 27 Feb 2004 12:21:57 +0000 (12:21 +0000)
committerNick Clifton <nickc@redhat.com>
Fri, 27 Feb 2004 12:21:57 +0000 (12:21 +0000)
gas/ChangeLog
gas/config/tc-sh.c

index 60d17ae51d0b886d19ff1afa9af9fcb88762acc6..106463565047e615bac901f29f899e8dd54af6e2 100644 (file)
@@ -1,3 +1,8 @@
+2004-02-27  Anil Paranjpe  <anilp1@kpitcummins.com>
+
+       * config/tc-sh.c (get_operand):  In case of #Imm, check has been
+       added for wrong syntax.
+
 2004-02-26  Eric Christopher  <echristo@redhat.com>
 
        * config/tc-mips.c (mips_dwarf2_addr_size): New.
index 3e410e303850c429e770a862961e44051b9aa3ec..b2c3694c81089f2e194be06439f39cd8c5924b64 100644 (file)
@@ -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;