| Index: src/core/SkMatrix.cpp
|
| diff --git a/src/core/SkMatrix.cpp b/src/core/SkMatrix.cpp
|
| index 5bcb35b298874088004f5c39fba7133e85a0c323..cd7bcea176486de32b97d2a00a1a0afb1de97b64 100644
|
| --- a/src/core/SkMatrix.cpp
|
| +++ b/src/core/SkMatrix.cpp
|
| @@ -1921,20 +1921,25 @@ const SkMatrix& SkMatrix::InvalidMatrix() {
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| -uint32_t SkMatrix::writeToMemory(void* buffer) const {
|
| +size_t SkMatrix::writeToMemory(void* buffer) const {
|
| // TODO write less for simple matrices
|
| + static const size_t sizeInMemory = 9 * sizeof(SkScalar);
|
| if (buffer) {
|
| - memcpy(buffer, fMat, 9 * sizeof(SkScalar));
|
| + memcpy(buffer, fMat, sizeInMemory);
|
| }
|
| - return 9 * sizeof(SkScalar);
|
| + return sizeInMemory;
|
| }
|
|
|
| -uint32_t SkMatrix::readFromMemory(const void* buffer) {
|
| +size_t SkMatrix::readFromMemory(const void* buffer, size_t length) {
|
| + static const size_t sizeInMemory = 9 * sizeof(SkScalar);
|
| + if (length < sizeInMemory) {
|
| + return 0;
|
| + }
|
| if (buffer) {
|
| - memcpy(fMat, buffer, 9 * sizeof(SkScalar));
|
| + memcpy(fMat, buffer, sizeInMemory);
|
| this->setTypeMask(kUnknown_Mask);
|
| }
|
| - return 9 * sizeof(SkScalar);
|
| + return sizeInMemory;
|
| }
|
|
|
| #ifdef SK_DEVELOPER
|
|
|