PR gas/11733
authorAlan Modra <amodra@gmail.com>
Mon, 21 Jun 2010 07:42:55 +0000 (07:42 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 21 Jun 2010 07:42:55 +0000 (07:42 +0000)
* config/tc-sh.c (find_cooked_opcode): Correct array bounds check.

gas/ChangeLog
gas/config/tc-sh.c

index 83ed094aac3a523e583a95a0b82c5b15bc7569f9..b899092fb30eef10bba9c77f7f1b6e059997c58c 100644 (file)
@@ -1,3 +1,8 @@
+2010-06-21  Alan Modra  <amodra@gmail.com>
+
+       PR gas/11733
+       * config/tc-sh.c (find_cooked_opcode): Correct array bounds check.
+
 2010-06-18  Joseph Myers  <joseph@codesourcery.com>
 
        * config/tc-tic6x.h (tic6x_segment_info_type): Add field
index 4e49e4e8ccd185e5d5398ba0626831239abc3d7f..67bec05c315608a3b740fc09eb59b97f49b64a79 100644 (file)
@@ -2545,7 +2545,7 @@ find_cooked_opcode (char **str_p)
   unsigned char *op_start;
   unsigned char *op_end;
   char name[20];
-  int nlen = 0;
+  unsigned int nlen = 0;
 
   /* Drop leading whitespace.  */
   while (*str == ' ')
@@ -2557,7 +2557,7 @@ find_cooked_opcode (char **str_p)
      assemble_ppi, so the opcode might be terminated by an '@'.  */
   for (op_start = op_end = (unsigned char *) str;
        *op_end
-       && nlen < 20
+       && nlen < sizeof (name) - 1
        && !is_end_of_line[*op_end] && *op_end != ' ' && *op_end != '@';
        op_end++)
     {