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); | 
| } |