Chromium Code Reviews| Index: include/core/SkReader32.h |
| diff --git a/include/core/SkReader32.h b/include/core/SkReader32.h |
| index 7a8d22a80c166c82539f05fe9d83186269416762..71101c333474bb70ad642052d0f3025fa23df924 100644 |
| --- a/include/core/SkReader32.h |
| +++ b/include/core/SkReader32.h |
| @@ -107,13 +107,13 @@ public: |
| uint32_t readU32() { return this->readInt(); } |
| void readPath(SkPath* path) { |
| - size_t size = path->readFromMemory(this->peek()); |
| + size_t size = path->readFromMemory(this->peek(), this->available()); |
| SkASSERT(SkAlign4(size) == size); |
| (void)this->skip(size); |
|
reed1
2013/10/29 19:42:58
if readFromMemory returns 0 (e.g. truncated stream
sugoi1
2013/10/29 20:16:47
Ok (I had to think about it a little). This would
Stephen White
2013/10/29 20:40:54
Reading out-of-bounds doesn't sound good. Is that
|
| } |
| void readMatrix(SkMatrix* matrix) { |
| - size_t size = matrix->readFromMemory(this->peek()); |
| + size_t size = matrix->readFromMemory(this->peek(), this->available()); |
| SkASSERT(SkAlign4(size) == size); |
| (void)this->skip(size); |
| } |
| @@ -124,7 +124,7 @@ public: |
| } |
| void readRegion(SkRegion* rgn) { |
| - size_t size = rgn->readFromMemory(this->peek()); |
| + size_t size = rgn->readFromMemory(this->peek(), this->available()); |
| SkASSERT(SkAlign4(size) == size); |
| (void)this->skip(size); |
| } |