| Index: Source/core/html/ImageDocument.cpp
|
| diff --git a/Source/core/html/ImageDocument.cpp b/Source/core/html/ImageDocument.cpp
|
| index ee0542a0943d1b38d4bde7e45f9885258fe77171..f20e8d50eaffbd36cf4e5f78c6bed9eb545bdeee 100644
|
| --- a/Source/core/html/ImageDocument.cpp
|
| +++ b/Source/core/html/ImageDocument.cpp
|
| @@ -43,6 +43,7 @@
|
| #include "core/loader/FrameLoader.h"
|
| #include "core/loader/FrameLoaderClient.h"
|
| #include "wtf/text/StringBuilder.h"
|
| +#include <limits>
|
|
|
| using std::min;
|
|
|
| @@ -128,8 +129,10 @@ void ImageDocumentParser::appendBytes(const char* data, size_t length)
|
| if (!frame->loader().client()->allowImage(!settings || settings->imagesEnabled(), document()->url()))
|
| return;
|
|
|
| - if (document()->cachedImage())
|
| + if (document()->cachedImage()) {
|
| + RELEASE_ASSERT(length <= std::numeric_limits<unsigned>::max());
|
| document()->cachedImage()->appendData(data, length);
|
| + }
|
| // Make sure the image renderer gets created because we need the renderer
|
| // to read the aspect ratio. See crbug.com/320244
|
| document()->updateRenderTreeIfNeeded();
|
|
|