do not allow size or nbytes to go negative.
authorNick Clifton <nickc@redhat.com>
Mon, 7 Jan 2002 17:51:18 +0000 (17:51 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 7 Jan 2002 17:51:18 +0000 (17:51 +0000)
gas/ChangeLog
gas/read.c

index 5d5ece9a46deae4e296fb0079edbd8eebfed3fc1..77f16283c297e82e8f089715830f0414276c9722 100644 (file)
@@ -1,3 +1,8 @@
+2002-01-07  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * read.c (emit_expr): Do not allow 'size' or 'nbytes' to go
+       negative.
+
 2002-01-06  Alan Modra  <amodra@bigpond.net.au>
 
        * config/tc-m68k.h (md_prepare_relax_scan): Rewrite.
index 5fc9511314d0cf6ab3bc47809dbc965694a98c0b..b0446c8d13c2090018a6a138e79d3fc41f633a2c 100644 (file)
@@ -3683,7 +3683,7 @@ emit_expr (exp, nbytes)
            }
 
          nums = generic_bignum + size / CHARS_PER_LITTLENUM;
-         while (size > 0)
+         while (size >= CHARS_PER_LITTLENUM)
            {
              --nums;
              md_number_to_chars (p, (valueT) *nums, CHARS_PER_LITTLENUM);
@@ -3694,7 +3694,7 @@ emit_expr (exp, nbytes)
       else
        {
          nums = generic_bignum;
-         while (size > 0)
+         while (size >= CHARS_PER_LITTLENUM)
            {
              md_number_to_chars (p, (valueT) *nums, CHARS_PER_LITTLENUM);
              ++nums;
@@ -3703,7 +3703,7 @@ emit_expr (exp, nbytes)
              nbytes -= CHARS_PER_LITTLENUM;
            }
 
-         while (nbytes > 0)
+         while (nbytes >= CHARS_PER_LITTLENUM)
            {
              md_number_to_chars (p, extra_digit, CHARS_PER_LITTLENUM);
              nbytes -= CHARS_PER_LITTLENUM;