Make SkStream readers report failure.
This also fixes an issue noticed while making this change where
SkFontDescriptor improperly round trips negative axis values.
Change-Id: Iacc5929a185659dcacc18c802c4908e4f34c6899
Reviewed-on: https://skia-review.googlesource.com/128341
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
diff --git a/src/utils/SkMultiPictureDocument.cpp b/src/utils/SkMultiPictureDocument.cpp
index b09db06..493e6d4 100644
--- a/src/utils/SkMultiPictureDocument.cpp
+++ b/src/utils/SkMultiPictureDocument.cpp
@@ -110,16 +110,16 @@
stream = nullptr;
return 0;
}
- uint32_t versionNumber = stream->readU32();
- if (versionNumber != kVersion) {
+ uint32_t versionNumber;
+ if (!stream->readU32(&versionNumber) || versionNumber != kVersion) {
return 0;
}
- uint32_t pageCount = stream->readU32();
- if (pageCount > INT_MAX) {
+ uint32_t pageCount;
+ if (!stream->readU32(&pageCount) || pageCount > INT_MAX) {
return 0;
}
// leave stream position right here.
- return (int)pageCount;
+ return SkTo<int>(pageCount);
}
bool SkMultiPictureDocumentReadPageSizes(SkStreamSeekable* stream,