diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:05:43 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:05:43 -0800 |
commit | f013e1afd1e68af5e3b868c26a653bbfb39538f8 (patch) | |
tree | 7ad6c8fd9c7b55f4b4017171dec1cb760bbd26bf /tools/aapt/Images.cpp | |
parent | e70cfafe580c6f2994c4827cd8a534aabf3eb05c (diff) |
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'tools/aapt/Images.cpp')
-rw-r--r-- | tools/aapt/Images.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/aapt/Images.cpp b/tools/aapt/Images.cpp index 4a766d157740..9d5937c7d6f0 100644 --- a/tools/aapt/Images.cpp +++ b/tools/aapt/Images.cpp @@ -562,10 +562,16 @@ getout: static void checkNinePatchSerialization(Res_png_9patch* inPatch, void * data) { + if (sizeof(void*) != sizeof(int32_t)) { + // can't deserialize on a non-32 bit system + return; + } size_t patchSize = inPatch->serializedSize(); void * newData = malloc(patchSize); memcpy(newData, data, patchSize); Res_png_9patch* outPatch = inPatch->deserialize(newData); + // deserialization is done in place, so outPatch == newData + assert(outPatch == newData); assert(outPatch->numXDivs == inPatch->numXDivs); assert(outPatch->numYDivs == inPatch->numYDivs); assert(outPatch->paddingLeft == inPatch->paddingLeft); @@ -581,6 +587,7 @@ static void checkNinePatchSerialization(Res_png_9patch* inPatch, void * data) for (int i = 0; i < outPatch->numColors; i++) { assert(outPatch->colors[i] == inPatch->colors[i]); } + free(newData); } static bool patch_equals(Res_png_9patch& patch1, Res_png_9patch& patch2) { |