<?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>43876</bug_id>
          
          <creation_ts>2010-08-11 13:43:01 -0700</creation_ts>
          <short_desc>REGRESSION(65135): format specifier warnings</short_desc>
          <delta_ts>2010-08-11 23:31:48 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>43191</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>ap</cc>
    
    <cc>ukai</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>263435</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-11 13:43:01 -0700</bug_when>
    <thetext>warnings introduced in http://trac.webkit.org/changeset/65135:

32 bit release build:
../../../WebCore/websockets/WebSocketChannel.cpp:218: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 2 has type ‘size_t’

WebCore/websockets/WebSocketChannel.cpp:218:
m_context-&gt;addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, String::format(&quot;WebSocket frame (at %lu bytes) is too long.&quot;, newBufferSize), 0, m_handshake.clientOrigin());

32 bit debug build:
../../../WebCore/websockets/WebSocketChannel.cpp:205: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘size_t’
../../../WebCore/websockets/WebSocketChannel.cpp:205: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 4 has type ‘size_t’
../../../WebCore/websockets/WebSocketChannel.cpp:218: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 2 has type ‘size_t’
../../../WebCore/websockets/WebSocketChannel.cpp:258: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘size_t’
../../../WebCore/websockets/WebSocketChannel.cpp:280: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘size_t’
../../../WebCore/websockets/WebSocketChannel.cpp:288: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘size_t’
../../../WebCore/websockets/WebSocketChannel.cpp:294: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘size_t’
../../../WebCore/websockets/WebSocketChannel.cpp:294: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 4 has type ‘size_t’
../../../WebCore/websockets/WebSocketChannel.cpp:304: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 4 has type ‘size_t’

205: LOG(Network, &quot;WebSocket buffer overflow (%lu+%lu)&quot;, m_bufferSize, len);
258: LOG(Network, &quot;remaining in read buf %lu&quot;, m_bufferSize);
280: LOG(Network, &quot;frame length overflow %lu&quot;, length);
288: LOG(Network, &quot;frame length overflow %lu+%u&quot;, newLength, lengthMsgByte);
294: LOG(Network, &quot;frame length integer wrap %lu-&gt;%lu&quot;, length, newLength);
304: LOG(Network, &quot;frame buffer pointer wrap %p+%lu-&gt;%p&quot;, p, length, p + length);

The problem is that size_t is unsigned int (4 bytes) and 
not unsigned long int (8 bytes) on 32 bit systems.

Accordingly using %lu on 32 bit systems is incorrect, we have to
use %u or %lu depends on sizeof(size_t) instead of hard coded %lu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263443</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-11 14:04:45 -0700</bug_when>
    <thetext>My first idea was replace %lu with %zu. 
But unfortunately Windows can&apos;t handle z modifier, but I.

We can fix it with #if guards, but in my opinion it is too ugly:

#if OS(WINDOWS)
   LOG( ... %Iu ... );
#else
   LOG( ... %zu ... );
#endif

Have you got any idea how could we fix it correctly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263445</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-08-11 14:08:49 -0700</bug_when>
    <thetext>We could add a macro that expands to either %Iu or %zu, or we could cast the values to unsigned long.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263599</commentid>
    <comment_count>3</comment_count>
      <attachid>64187</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-08-11 21:57:35 -0700</bug_when>
    <thetext>Created attachment 64187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263619</commentid>
    <comment_count>4</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-08-11 23:31:48 -0700</bug_when>
    <thetext>Committed r65219: &lt;http://trac.webkit.org/changeset/65219&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64187</attachid>
            <date>2010-08-11 21:57:35 -0700</date>
            <delta_ts>2010-08-11 23:05:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43876-20100811215733.patch</filename>
            <type>text/plain</type>
            <size>4314</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmE4ZjI4YmFlNzg1OTQxZDhkZGI3ODk3OTIwMTYyZjNhNDE2MDllMC4uMzY1YzIzZjUyMDU2YzUy
MDkxYWIyZTQ0NDAzNmMxZjJkNDg5NjlhYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wOC0xMSAgRnVt
aXRvc2hpIFVrYWkgIDx1a2FpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OKDY1MTM1KTogZm9ybWF0IHNwZWNp
ZmllciB3YXJuaW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDM4NzYKKworICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjphcHBlbmRUb0J1ZmZlcik6IGNh
c3Qgc2l6ZV90IHRvIHVuc2lnbmVkIGxvbmcgZm9yICVsdS4KKyAgICAgICAgKFdlYkNvcmU6Oldl
YlNvY2tldENoYW5uZWw6OnByb2Nlc3NCdWZmZXIpOiBjYXN0IHNpemVfdCB0byB1bnNpZ25lZCBs
b25nIGZvciAlbHUuCisKIDIwMTAtMDgtMTEgIFZpY3RvcmlhIEtpcnN0ICA8dnJrQGdvb2dsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9XZWJDb3JlL3dlYnNvY2tldHMv
V2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggZWEzNjM2NDhhZjQwNTExMGIzZWU3OTVmMTU2MTU5
MjdhZjAyYzllMC4uNDc3MzFjZmM4MWU0NjZkNTZhMjY5YmI0ZjE5NDY0ZTJjZjVhMTk4ZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1dl
YkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMjAyLDcgKzIwMiw3IEBA
IGJvb2wgV2ViU29ja2V0Q2hhbm5lbDo6YXBwZW5kVG9CdWZmZXIoY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGxlbikKIHsKICAgICBzaXplX3QgbmV3QnVmZmVyU2l6ZSA9IG1fYnVmZmVyU2l6ZSAr
IGxlbjsKICAgICBpZiAobmV3QnVmZmVyU2l6ZSA8IG1fYnVmZmVyU2l6ZSkgewotICAgICAgICBM
T0coTmV0d29yaywgIldlYlNvY2tldCBidWZmZXIgb3ZlcmZsb3cgKCVsdSslbHUpIiwgbV9idWZm
ZXJTaXplLCBsZW4pOworICAgICAgICBMT0coTmV0d29yaywgIldlYlNvY2tldCBidWZmZXIgb3Zl
cmZsb3cgKCVsdSslbHUpIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4obV9idWZmZXJTaXpl
KSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4obGVuKSk7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAgICAgY2hhciogbmV3QnVmZmVyID0gMDsKQEAgLTIxNSw3ICsyMTUsNyBAQCBi
b29sIFdlYlNvY2tldENoYW5uZWw6OmFwcGVuZFRvQnVmZmVyKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCBsZW4pCiAgICAgICAgIG1fYnVmZmVyU2l6ZSA9IG5ld0J1ZmZlclNpemU7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KLSAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSlNNZXNzYWdl
U291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIFN0cmluZzo6Zm9ybWF0
KCJXZWJTb2NrZXQgZnJhbWUgKGF0ICVsdSBieXRlcykgaXMgdG9vIGxvbmcuIiwgbmV3QnVmZmVy
U2l6ZSksIDAsIG1faGFuZHNoYWtlLmNsaWVudE9yaWdpbigpKTsKKyAgICBtX2NvbnRleHQtPmFk
ZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsIFN0cmluZzo6Zm9ybWF0KCJXZWJTb2NrZXQgZnJhbWUgKGF0ICVsdSBieXRlcykgaXMgdG9v
IGxvbmcuIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4obmV3QnVmZmVyU2l6ZSkpLCAwLCBt
X2hhbmRzaGFrZS5jbGllbnRPcmlnaW4oKSk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC0y
NTUsNyArMjU1LDcgQEAgYm9vbCBXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNzQnVmZmVyKCkKICAg
ICAgICAgICAgIExPRyhOZXR3b3JrLCAiV2ViU29ja2V0Q2hhbm5lbCAlcCBjb25uZWN0ZWQiLCB0
aGlzKTsKICAgICAgICAgICAgIHNraXBCdWZmZXIoaGVhZGVyTGVuZ3RoKTsKICAgICAgICAgICAg
IG1fY2xpZW50LT5kaWRDb25uZWN0KCk7Ci0gICAgICAgICAgICBMT0coTmV0d29yaywgInJlbWFp
bmluZyBpbiByZWFkIGJ1ZiAlbHUiLCBtX2J1ZmZlclNpemUpOworICAgICAgICAgICAgTE9HKE5l
dHdvcmssICJyZW1haW5pbmcgaW4gcmVhZCBidWYgJWx1Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQg
bG9uZz4obV9idWZmZXJTaXplKSk7CiAgICAgICAgICAgICByZXR1cm4gbV9idWZmZXI7CiAgICAg
ICAgIH0KICAgICAgICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXRDaGFubmVsICVwIGNvbm5lY3Rp
b24gZmFpbGVkIiwgdGhpcyk7CkBAIC0yNzcsNyArMjc3LDcgQEAgYm9vbCBXZWJTb2NrZXRDaGFu
bmVsOjpwcm9jZXNzQnVmZmVyKCkKICAgICAgICAgYm9vbCBlcnJvckZyYW1lID0gZmFsc2U7CiAg
ICAgICAgIHdoaWxlIChwIDwgZW5kKSB7CiAgICAgICAgICAgICBpZiAobGVuZ3RoID4gc3RkOjpu
dW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSAvIDEyOCkgewotICAgICAgICAgICAgICAgIExP
RyhOZXR3b3JrLCAiZnJhbWUgbGVuZ3RoIG92ZXJmbG93ICVsdSIsIGxlbmd0aCk7CisgICAgICAg
ICAgICAgICAgTE9HKE5ldHdvcmssICJmcmFtZSBsZW5ndGggb3ZlcmZsb3cgJWx1Iiwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQgbG9uZz4obGVuZ3RoKSk7CiAgICAgICAgICAgICAgICAgZXJyb3JGcmFt
ZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CkBAIC0yODUs
MTMgKzI4NSwxMyBAQCBib29sIFdlYlNvY2tldENoYW5uZWw6OnByb2Nlc3NCdWZmZXIoKQogICAg
ICAgICAgICAgdW5zaWduZWQgY2hhciBtc2dCeXRlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hh
cj4oKnApOwogICAgICAgICAgICAgdW5zaWduZWQgaW50IGxlbmd0aE1zZ0J5dGUgPSBtc2dCeXRl
ICYgMHg3ZjsKICAgICAgICAgICAgIGlmIChuZXdMZW5ndGggPiBzdGQ6Om51bWVyaWNfbGltaXRz
PHNpemVfdD46Om1heCgpIC0gbGVuZ3RoTXNnQnl0ZSkgewotICAgICAgICAgICAgICAgIExPRyhO
ZXR3b3JrLCAiZnJhbWUgbGVuZ3RoIG92ZXJmbG93ICVsdSsldSIsIG5ld0xlbmd0aCwgbGVuZ3Ro
TXNnQnl0ZSk7CisgICAgICAgICAgICAgICAgTE9HKE5ldHdvcmssICJmcmFtZSBsZW5ndGggb3Zl
cmZsb3cgJWx1KyV1Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4obmV3TGVuZ3RoKSwgbGVu
Z3RoTXNnQnl0ZSk7CiAgICAgICAgICAgICAgICAgZXJyb3JGcmFtZSA9IHRydWU7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBuZXdMZW5ndGggKz0g
bGVuZ3RoTXNnQnl0ZTsKICAgICAgICAgICAgIGlmIChuZXdMZW5ndGggPCBsZW5ndGgpIHsgLy8g
c2FuaXR5IGNoZWNrCi0gICAgICAgICAgICAgICAgTE9HKE5ldHdvcmssICJmcmFtZSBsZW5ndGgg
aW50ZWdlciB3cmFwICVsdS0+JWx1IiwgbGVuZ3RoLCBuZXdMZW5ndGgpOworICAgICAgICAgICAg
ICAgIExPRyhOZXR3b3JrLCAiZnJhbWUgbGVuZ3RoIGludGVnZXIgd3JhcCAlbHUtPiVsdSIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KGxlbmd0aCksIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxv
bmc+KG5ld0xlbmd0aCkpOwogICAgICAgICAgICAgICAgIGVycm9yRnJhbWUgPSB0cnVlOwogICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpAQCAtMzAxLDcgKzMwMSw3IEBAIGJv
b2wgV2ViU29ja2V0Q2hhbm5lbDo6cHJvY2Vzc0J1ZmZlcigpCiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHAgKyBsZW5ndGggPCBwKSB7Ci0gICAgICAgICAg
ICBMT0coTmV0d29yaywgImZyYW1lIGJ1ZmZlciBwb2ludGVyIHdyYXAgJXArJWx1LT4lcCIsIHAs
IGxlbmd0aCwgcCArIGxlbmd0aCk7CisgICAgICAgICAgICBMT0coTmV0d29yaywgImZyYW1lIGJ1
ZmZlciBwb2ludGVyIHdyYXAgJXArJWx1LT4lcCIsIHAsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxv
bmc+KGxlbmd0aCksIHAgKyBsZW5ndGgpOwogICAgICAgICAgICAgZXJyb3JGcmFtZSA9IHRydWU7
CiAgICAgICAgIH0KICAgICAgICAgaWYgKGVycm9yRnJhbWUpIHsK
</data>
<flag name="review"
          id="52697"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>