OSDN Git Service

Detect integer overflow
authorGlenn Kasten <gkasten@google.com>
Fri, 19 Jul 2013 00:15:43 +0000 (17:15 -0700)
committerGlenn Kasten <gkasten@google.com>
Mon, 22 Jul 2013 17:01:16 +0000 (10:01 -0700)
See Change-Id: Iec36fc0ea67095e18a2c238b148dad5545c102c1

Change-Id: I421f0d84c64310fcb6c5451993cfaf38125c4bb2

media/java/android/media/AudioRecord.java

index 78306ac..f0d3114 100644 (file)
@@ -587,6 +587,7 @@ public class AudioRecord
         }
 
         if ( (audioData == null) || (offsetInBytes < 0 ) || (sizeInBytes < 0)
+                || (offsetInBytes + sizeInBytes < 0)  // detect integer overflow
                 || (offsetInBytes + sizeInBytes > audioData.length)) {
             return ERROR_BAD_VALUE;
         }
@@ -611,6 +612,7 @@ public class AudioRecord
         }
 
         if ( (audioData == null) || (offsetInShorts < 0 ) || (sizeInShorts < 0)
+                || (offsetInShorts + sizeInShorts < 0)  // detect integer overflow
                 || (offsetInShorts + sizeInShorts > audioData.length)) {
             return ERROR_BAD_VALUE;
         }