[webkit-reviews] review denied: [Bug 132947] Build error in Source/WebCore/fileapi/Blob.cpp : [Attachment 231500] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu May 15 09:29:23 PDT 2014


Alexey Proskuryakov <ap at webkit.org> has denied Tanay <tanay.c at samsung.com>'s
request for review:
Bug 132947: Build error in Source/WebCore/fileapi/Blob.cpp
https://bugs.webkit.org/show_bug.cgi?id=132947

Attachment 231500: Patch
https://bugs.webkit.org/attachment.cgi?id=231500&action=review

------- Additional Comments from Alexey Proskuryakov <ap at webkit.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=231500&action=review


> Source/WebCore/fileapi/Blob.cpp:127
> +	   m_size = (actualSize <= std::numeric_limits<unsigned long
long>::max()) ? static_cast<long long>(actualSize) : 0;

The proposed code is incorrect - an unsigned long long value is always less
than or equal to std::numeric_limits<unsigned long long>::max(), so comparing
these makes is meaningless. The purpose of this check is to ensure that casting
to a signed long long won't change the value.

I think that you need something like:

m_size = (actualSize <= static_cast<unsigned long
long>(std::numeric_limits<long long>::max())) ? static_cast<long
long>(actualSize) : 0;

Or there may be some other idiom that I'm not aware of. Possibly something in
CheckedArithmetic.h?


More information about the webkit-reviews mailing list