Avoid buffer overflow.
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 18 Mar 2010 17:46:19 +0000 (17:46 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 18 Mar 2010 17:46:19 +0000 (17:46 +0000)
2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>

* readelf.c (decode_arm_unwind): Increase buf size to 9 byte.

binutils/ChangeLog
binutils/readelf.c

index 506ab55e13def4dddb1ef7b21776c9ffb02d1a41..8058db3b3b4e004c858dd11975c263914e0f24da 100644 (file)
@@ -1,3 +1,7 @@
+2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * readelf.c (decode_arm_unwind): Increase buf size to 9 byte.
+
 2010-03-17  Alan Modra  <amodra@gmail.com>
 
        * readelf.c (dump_arm_unwind): Warning fix.
index c76fc178c23192e16d8401609ec588ec228ff850..beaf9477b063c01d2eb51ee7ddeb87eb58ef040b 100644 (file)
@@ -6194,10 +6194,10 @@ decode_arm_unwind (struct arm_unw_aux_info *aux,
        }
       else if (op == 0xb2)
        {
-         unsigned char buf[5];
+         unsigned char buf[9];
          unsigned int i, len;
          unsigned long offset;
-         for (i = 0; i < 9; i++)
+         for (i = 0; i < sizeof (buf); i++)
            {
              GET_OP (buf[i]);
              if ((buf[i] & 0x80) == 0)