diff options
author | Leon Scroggins III <scroggo@google.com> | 2015-01-27 18:33:46 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-01-27 18:33:46 +0000 |
commit | 847514499f5920d073f5cd402dd0d3bbd19ac2c1 (patch) | |
tree | f6b20dcbbdb9809a4d0f9678f9c2a04626a03c62 | |
parent | 6e14c5705c5acf9d6036060252f257a084cd7578 (diff) | |
parent | 3523e4fcb3c74a5dee2f4497e2b8ec7b9e2b5e57 (diff) | |
download | frameworks_base-847514499f5920d073f5cd402dd0d3bbd19ac2c1.zip frameworks_base-847514499f5920d073f5cd402dd0d3bbd19ac2c1.tar.gz frameworks_base-847514499f5920d073f5cd402dd0d3bbd19ac2c1.tar.bz2 |
am 3523e4fc: am efe085ff: Merge "Handle bad ninepatch data." into lmp-mr1-dev
* commit '3523e4fcb3c74a5dee2f4497e2b8ec7b9e2b5e57':
Handle bad ninepatch data.
-rw-r--r-- | core/jni/android/graphics/NinePatchPeeker.cpp | 4 | ||||
-rw-r--r-- | include/androidfw/ResourceTypes.h | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/core/jni/android/graphics/NinePatchPeeker.cpp b/core/jni/android/graphics/NinePatchPeeker.cpp index 1dafa1b..d99ddeb 100644 --- a/core/jni/android/graphics/NinePatchPeeker.cpp +++ b/core/jni/android/graphics/NinePatchPeeker.cpp @@ -24,7 +24,9 @@ bool NinePatchPeeker::peek(const char tag[], const void* data, size_t length) { if (!strcmp("npTc", tag) && length >= sizeof(Res_png_9patch)) { Res_png_9patch* patch = (Res_png_9patch*) data; size_t patchSize = patch->serializedSize(); - assert(length == patchSize); + if (length != patchSize) { + return false; + } // You have to copy the data because it is owned by the png reader Res_png_9patch* patchNew = (Res_png_9patch*) malloc(patchSize); memcpy(patchNew, patch, patchSize); diff --git a/include/androidfw/ResourceTypes.h b/include/androidfw/ResourceTypes.h index 421c5c1..8673219 100644 --- a/include/androidfw/ResourceTypes.h +++ b/include/androidfw/ResourceTypes.h @@ -118,9 +118,9 @@ struct Res_png_9patch yDivsOffset(0), colorsOffset(0) { } int8_t wasDeserialized; - int8_t numXDivs; - int8_t numYDivs; - int8_t numColors; + uint8_t numXDivs; + uint8_t numYDivs; + uint8_t numColors; // The offset (from the start of this structure) to the xDivs & yDivs // array for this 9patch. To get a pointer to this array, call |