diff options
Diffstat (limited to 'src/images/SkImageDecoder_astc.cpp')
-rw-r--r-- | src/images/SkImageDecoder_astc.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/images/SkImageDecoder_astc.cpp b/src/images/SkImageDecoder_astc.cpp index e1a6a06fa7..8989464f3b 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); |