| Index: src/images/SkImageDecoder_astc.cpp
|
| diff --git a/src/images/SkImageDecoder_astc.cpp b/src/images/SkImageDecoder_astc.cpp
|
| index e1a6a06fa7588ce8fdc470b87c00d352c077a5a3..8989464f3b8d0ee4d25989de165f5c60b5b0963f 100644
|
| --- a/src/images/SkImageDecoder_astc.cpp
|
| +++ b/src/images/SkImageDecoder_astc.cpp
|
| @@ -5,6 +5,7 @@
|
| * found in the LICENSE file.
|
| */
|
|
|
| +#include "SkData.h"
|
| #include "SkEndian.h"
|
| #include "SkColorPriv.h"
|
| #include "SkImageDecoder.h"
|
| @@ -43,13 +44,12 @@ static inline int read_24bit(const uint8_t* buf) {
|
| }
|
|
|
| SkImageDecoder::Result SkASTCImageDecoder::onDecode(SkStream* stream, SkBitmap* bm, Mode mode) {
|
| - SkAutoMalloc autoMal;
|
| - const size_t length = SkCopyStreamToStorage(&autoMal, stream);
|
| - if (0 == length) {
|
| + SkAutoTUnref<SkData> data(SkCopyStreamToData(stream));
|
| + if (!data || !data->size()) {
|
| return kFailure;
|
| }
|
|
|
| - unsigned char* buf = (unsigned char*)autoMal.get();
|
| + unsigned char* buf = (unsigned char*) data->data();
|
|
|
| // Make sure that the magic header is there...
|
| SkASSERT(SkEndian_SwapLE32(*(reinterpret_cast<uint32_t*>(buf))) == kASTCMagicNumber);
|
|
|