diff options
author | Mike Reed <reed@google.com> | 2017-07-26 18:34:51 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-07-26 18:35:01 +0000 |
commit | a4ce4b1f6bef22e7ca5c7a952197fc2bc70923fc (patch) | |
tree | 600f281c5b3f3650a4a1e5530efe7e024e5bd98c /src/core/SkPathRef.cpp | |
parent | 737149126df1a44bc80393cfe35017bab983c357 (diff) |
Revert "Fix SkPathRef deserialization malloc crash"
This reverts commit df6660f64e4d915de7471c3daa67f9b68037ff3f.
Reason for revert: crashing dm on android and windows
Original change's description:
> Fix SkPathRef deserialization malloc crash
>
> If the path says it has more points/verbs/etc than the buffer could
> be holding, then resetToSize could try to allocate something huge
> and crash.
>
> Change-Id: I40e8db87e4f61abb23217281ab0365c6af222fa3
> Reviewed-on: https://skia-review.googlesource.com/24802
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
TBR=bungeman@google.com,reed@google.com,enne@chromium.org
Change-Id: I06fa89c05b785652b097ae04e7ebc001a7c176b2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/26944
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/core/SkPathRef.cpp')
-rw-r--r-- | src/core/SkPathRef.cpp | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/src/core/SkPathRef.cpp b/src/core/SkPathRef.cpp index 71d7f206c9..3338225391 100644 --- a/src/core/SkPathRef.cpp +++ b/src/core/SkPathRef.cpp @@ -258,11 +258,6 @@ SkPathRef* SkPathRef::CreateFromBuffer(SkRBuffer* buffer) { return nullptr; } - // If the buffer can't plausibly contain this many objects, abort. - size_t requiredBufferSize = verbCount * sizeof(uint8_t) + pointCount * sizeof(SkPoint) + - conicCount * sizeof(SkScalar) + sizeof(SkRect); - if (buffer->available() < requiredBufferSize) return nullptr; - ref->resetToSize(verbCount, pointCount, conicCount); SkASSERT(verbCount == ref->countVerbs()); SkASSERT(pointCount == ref->countPoints()); |