diff options
author | 2014-09-12 12:12:27 -0700 | |
---|---|---|
committer | 2014-09-12 12:12:27 -0700 | |
commit | 9594da111dc1c36c1912eb61207aaa54c17ea550 (patch) | |
tree | e923b1b116d1a41d50c949260c57a25f061eebeb /src/core/SkPictureData.cpp | |
parent | 9db328b64f8f2eb901499664d92ac7fd236c3cde (diff) |
use SkData::NewUninitialized
BUG=skia:
R=bungeman@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/565803005
Diffstat (limited to 'src/core/SkPictureData.cpp')
-rw-r--r-- | src/core/SkPictureData.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/core/SkPictureData.cpp b/src/core/SkPictureData.cpp index a2d10e3b9b..656515830c 100644 --- a/src/core/SkPictureData.cpp +++ b/src/core/SkPictureData.cpp @@ -390,14 +390,13 @@ bool SkPictureData::parseStreamTag(SkStream* stream, SkDEBUGCODE(bool haveBuffer = false;) switch (tag) { - case SK_PICT_READER_TAG: { - SkAutoMalloc storage(size); - if (stream->read(storage.get(), size) != size) { + case SK_PICT_READER_TAG: + SkASSERT(NULL == fOpData); + fOpData = SkData::NewFromStream(stream, size); + if (!fOpData) { return false; } - SkASSERT(NULL == fOpData); - fOpData = SkData::NewFromMalloc(storage.detach(), size); - } break; + break; case SK_PICT_FACTORY_TAG: { SkASSERT(!haveBuffer); // Remove this code when v21 and below are no longer supported. At the @@ -538,13 +537,13 @@ bool SkPictureData::parseBufferTag(SkReadBuffer& buffer, } } break; case SK_PICT_READER_TAG: { - SkAutoMalloc storage(size); - if (!buffer.readByteArray(storage.get(), size) || + SkAutoDataUnref data(SkData::NewUninitialized(size)); + if (!buffer.readByteArray(data->writable_data(), size) || !buffer.validate(NULL == fOpData)) { return false; } SkASSERT(NULL == fOpData); - fOpData = SkData::NewFromMalloc(storage.detach(), size); + fOpData = data.detach(); } break; case SK_PICT_PICTURE_TAG: { if (!buffer.validate((0 == fPictureCount) && (NULL == fPictureRefs))) { |