<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>132678</bug_id>
          
          <creation_ts>2014-05-08 02:30:04 -0700</creation_ts>
          <short_desc>Blob.cpp fails to build with some gcc versions because of signed/unsigned comparison</short_desc>
          <delta_ts>2014-05-26 00:15:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Praveen Jadhav">praveen.j</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>oliver</cc>
    
    <cc>tanay.c</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1007575</commentid>
    <comment_count>0</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2014-05-08 02:30:04 -0700</bug_when>
    <thetext>WebKit build fails for EFL port with below error

/home/praveen.j/WebKit/Source/WebCore/fileapi/Blob.cpp: In member function ‘long long unsigned int WebCore::Blob::size() const’:
/home/praveen.j/WebKit/Source/WebCore/fileapi/Blob.cpp:127:69: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
cc1plus: all warnings being treated as errors
make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/fileapi/Blob.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
make: *** [all] Error 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007582</commentid>
    <comment_count>1</comment_count>
      <attachid>231056</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2014-05-08 02:38:16 -0700</bug_when>
    <thetext>Created attachment 231056
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007644</commentid>
    <comment_count>2</comment_count>
      <attachid>231056</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-08 09:30:20 -0700</bug_when>
    <thetext>Comment on attachment 231056
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=231056&amp;action=review

Sorry for the breakage - efl-wk2 bot was green, and efl one does not work.

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

The purpose of this check is to verify that the number fits into long long - we already know that it fits into an unsigned long long!

if it complains about signed/unsigned comparison, you probably need something like

actualSize &lt;= static_cast&lt;unsigned long long&gt;(std::numeric_limits&lt;long long&gt;::max()))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007938</commentid>
    <comment_count>3</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2014-05-09 03:52:44 -0700</bug_when>
    <thetext>Well, its strange that no one else got this error(efl buildbot is successful). I am not sure if this is because of some mismatch in my PC. Will try to resolve this locally.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009561</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-15 09:31:19 -0700</bug_when>
    <thetext>*** Bug 132947 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009562</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-15 09:33:19 -0700</bug_when>
    <thetext>As mentioned in duplicate, perhaps we have an existing less wordy solution for this? Perhaps something in CheckedArithmetic.h?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009568</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-15 09:51:20 -0700</bug_when>
    <thetext>Seems like isInBounds&lt;long long&gt;(actualSize) should do the trick.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009720</commentid>
    <comment_count>7</comment_count>
      <attachid>231560</attachid>
    <who name="Tanay">tanay.c</who>
    <bug_when>2014-05-15 23:39:07 -0700</bug_when>
    <thetext>Created attachment 231560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009721</commentid>
    <comment_count>8</comment_count>
    <who name="Tanay">tanay.c</who>
    <bug_when>2014-05-15 23:41:10 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Seems like isInBounds&lt;long long&gt;(actualSize) should do the trick.

Yes it fixes the build issue. Uploaded a patch with changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009776</commentid>
    <comment_count>9</comment_count>
      <attachid>231560</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-16 09:33:06 -0700</bug_when>
    <thetext>Comment on attachment 231560
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=231560&amp;action=review

&gt; Source/WebCore/fileapi/Blob.cpp:127
&gt; +        m_size = (WTF::isInBounds&lt;long long&gt;(actualSize)) ? static_cast&lt;long long&gt;(actualSize) : 0;

Does it compile without &quot;WTF::&quot;? Please remove the prefix when landing if it does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010134</commentid>
    <comment_count>10</comment_count>
    <who name="Tanay">tanay.c</who>
    <bug_when>2014-05-18 19:51:29 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 231560 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=231560&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/fileapi/Blob.cpp:127
&gt; &gt; +        m_size = (WTF::isInBounds&lt;long long&gt;(actualSize)) ? static_cast&lt;long long&gt;(actualSize) : 0;
&gt; 
&gt; Does it compile without &quot;WTF::&quot;? Please remove the prefix when landing if it does.

Without &apos;WTF::&apos; compiler is not able to resolve the function. We should retain it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011658</commentid>
    <comment_count>11</comment_count>
      <attachid>231560</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-26 00:15:40 -0700</bug_when>
    <thetext>Comment on attachment 231560
Patch

Clearing flags on attachment: 231560

Committed r169329: &lt;http://trac.webkit.org/changeset/169329&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011659</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-26 00:15:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231056</attachid>
            <date>2014-05-08 02:38:16 -0700</date>
            <delta_ts>2014-05-08 09:30:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Blob-132678.txt</filename>
            <type>text/plain</type>
            <size>1575</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODQ2NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE0LTA1LTA4ICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEZpeCBi
dWlsZCBlcnJvciBmb3IgYmxvYi5jcHAgYWZ0ZXIgcjE2ODQzNS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjY3OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmlsZWFwaS9CbG9iLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkJsb2I6OnNpemUpOiBQYXJhbSB0eXBlY2FzdGVkIHRvICd1bnNpZ25lZCBs
b25nIGxvbmcnIGluIAorICAgICAgICBvcmRlciB0byByZXNvbHZlIGJ1aWxkIGVycm9yLgorCiAy
MDE0LTA1LTA4ICBJb24gUm9zY2EgIDxyb3NjYUBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBC
bGVuZGluZ10gQ2hhbmdpbmcgaXNvbGF0aW9uIENTUyBwcm9wZXJ0eSBzaG91bGQgbm90IHRyaWdn
ZXIgcmVwYWludCBpbiBSZW5kZXJTdHlsZTo6Y2hhbmdlUmVxdWlyZXNMYXllclJlcGFpbnQKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAkocmV2aXNpb24gMTY4NDY1KQorKysgU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9CbG9iLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI0LDcgKzEyNCw3IEBA
IHVuc2lnbmVkIGxvbmcgbG9uZyBCbG9iOjpzaXplKCkgY29uc3QKICAgICAgICAgLy8gRklYTUU6
IEphdmFTY3JpcHQgY2Fubm90IHJlcHJlc2VudCBzaXplcyBhcyBsYXJnZSBhcyB1bnNpZ25lZCBs
b25nIGxvbmcsIHdlIG5lZWQgdG8KICAgICAgICAgLy8gY29tZSB1cCB3aXRoIGFuIGV4Y2VwdGlv
biB0byB0aHJvdyBpZiBmaWxlIHNpemUgaXMgbm90IHJlcHJlc2VudGFibGUuCiAgICAgICAgIHVu
c2lnbmVkIGxvbmcgbG9uZyBhY3R1YWxTaXplID0gVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6Ymxv
YlNpemUobV9pbnRlcm5hbFVSTCk7Ci0gICAgICAgIG1fc2l6ZSA9IChhY3R1YWxTaXplIDw9IHN0
ZDo6bnVtZXJpY19saW1pdHM8bG9uZyBsb25nPjo6bWF4KCkpID8gc3RhdGljX2Nhc3Q8bG9uZyBs
b25nPihhY3R1YWxTaXplKSA6IDA7CisgICAgICAgIG1fc2l6ZSA9IChhY3R1YWxTaXplIDw9IHN0
ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQgbG9uZyBsb25nPjo6bWF4KCkpID8gc3RhdGljX2Nh
c3Q8bG9uZyBsb25nPihhY3R1YWxTaXplKSA6IDA7CiAgICAgfQogCiAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9zaXplKTsK
</data>
<flag name="review"
          id="255465"
          type_id="1"
          status="-"
          setter="ap"
    />
    <flag name="commit-queue"
          id="255466"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231560</attachid>
            <date>2014-05-15 23:39:07 -0700</date>
            <delta_ts>2014-05-26 00:15:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132678-20140516120942.patch</filename>
            <type>text/plain</type>
            <size>1503</size>
            <attacher name="Tanay">tanay.c</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODkyNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE0LTA1LTE1ICBUYW5heSBD
ICA8dGFuYXkuY0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBGaXggYnVpbGQgZXJyb3Ig
aW4gYmxvYi5jcHAgYWZ0ZXIgcjE2ODQzNQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTMyNjc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QmxvYjo6c2l6ZSk6IFVzaW5nIGlzSW5Cb3VuZCB0byBjaGVjayByYW5nZSBvZiBsb2NhbCB2YXIK
KyAgICAgICAgYWN0dWFsc2l6ZSB0byByZXNvbHZlIGJ1aWxkIGVycm9yCisKIDIwMTQtMDUtMTUg
IERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8g
Zml4IHRoZSBBcHBsZSBNYXZlcmlja3MgUmVsZWFzZSwgQXBwbGUgTW91bnRhaW5MaW9uIFJlbGVh
c2UsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAJKHJldmlzaW9uIDE2ODgzMCkKKysrIFNv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNCw3ICsx
MjQsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgQmxvYjo6c2l6ZSgpIGNvbnN0CiAgICAgICAgIC8v
IEZJWE1FOiBKYXZhU2NyaXB0IGNhbm5vdCByZXByZXNlbnQgc2l6ZXMgYXMgbGFyZ2UgYXMgdW5z
aWduZWQgbG9uZyBsb25nLCB3ZSBuZWVkIHRvCiAgICAgICAgIC8vIGNvbWUgdXAgd2l0aCBhbiBl
eGNlcHRpb24gdG8gdGhyb3cgaWYgZmlsZSBzaXplIGlzIG5vdCByZXByZXNlbnRhYmxlLgogICAg
ICAgICB1bnNpZ25lZCBsb25nIGxvbmcgYWN0dWFsU2l6ZSA9IFRocmVhZGFibGVCbG9iUmVnaXN0
cnk6OmJsb2JTaXplKG1faW50ZXJuYWxVUkwpOwotICAgICAgICBtX3NpemUgPSAoYWN0dWFsU2l6
ZSA8PSBzdGQ6Om51bWVyaWNfbGltaXRzPGxvbmcgbG9uZz46Om1heCgpKSA/IHN0YXRpY19jYXN0
PGxvbmcgbG9uZz4oYWN0dWFsU2l6ZSkgOiAwOworICAgICAgICBtX3NpemUgPSAoV1RGOjppc0lu
Qm91bmRzPGxvbmcgbG9uZz4oYWN0dWFsU2l6ZSkpID8gc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihh
Y3R1YWxTaXplKSA6IDA7CiAgICAgfQogCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVk
IGxvbmcgbG9uZz4obV9zaXplKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>