<?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>43358</bug_id>
          
          <creation_ts>2010-08-02 09:25:28 -0700</creation_ts>
          <short_desc>Fix warning in JavaScriptCore/wtf/ByteArray.h</short_desc>
          <delta_ts>2010-08-26 02:40:32 -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>JavaScriptCore</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>P3</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="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>loki</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>258923</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-02 09:25:28 -0700</bug_when>
    <thetext>../../../JavaScriptCore/wtf/ByteArray.h:66: warning: array subscript is above array bounds

unsigned char get(unsigned index) const
{
    ASSERT(index &lt; m_size);
    return m_data[index];  &lt; -- line 66
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262715</commentid>
    <comment_count>1</comment_count>
      <attachid>64018</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-08-10 09:41:44 -0700</bug_when>
    <thetext>Created attachment 64018
Fix the array subscript is above array bounds warning in ByteArray on ARM

The proposed patch replaces the m_data array to a zero-sized one, in order to skip the &apos;array subscript is above array bounds&apos; warning check. I think the reason of this warning should be very similar to this GCC&apos;s bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37861

This fix works fine with GCC. I hope the other build-bots will be happy as well ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262758</commentid>
    <comment_count>2</comment_count>
      <attachid>64018</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-08-10 10:51:48 -0700</bug_when>
    <thetext>Comment on attachment 64018
Fix the array subscript is above array bounds warning in ByteArray on ARM

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262773</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-10 11:09:50 -0700</bug_when>
    <thetext>Attachment 64018 did not build on win:
Build output: http://queues.webkit.org/results/3734035</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262796</commentid>
    <comment_count>4</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-08-10 11:32:27 -0700</bug_when>
    <thetext>&gt; Build output: http://queues.webkit.org/results/3734035

Well, not much to say about it. :D
Tomorrow I will get someone to test this patch on Win as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262828</commentid>
    <comment_count>5</comment_count>
      <attachid>64018</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-10 13:18:49 -0700</bug_when>
    <thetext>Comment on attachment 64018
Fix the array subscript is above array bounds warning in ByteArray on ARM

cq- -ed not to break windows build

----  Comment #3 From  WebKit Review Bot   2010-08-10 11:09:50 PST   (-) [reply] -------
Attachment 64018 [details] did not build on win:
Build output: http://queues.webkit.org/results/3734035</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263064</commentid>
    <comment_count>6</comment_count>
      <attachid>64018</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-08-10 23:19:58 -0700</bug_when>
    <thetext>Comment on attachment 64018
Fix the array subscript is above array bounds warning in ByteArray on ARM

Unfortunately, the vc++ complains about the zero-sized array: http://msdn.microsoft.com/en-us/library/79wf64bc.aspx</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263091</commentid>
    <comment_count>7</comment_count>
      <attachid>64081</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-08-11 00:21:06 -0700</bug_when>
    <thetext>Created attachment 64081
Fix the array subscript is above array bounds warning in ByteArray on ARM.

This patch uses the offsetof method to compute the static size of the structure for creation.

It looks like if the creation of an array is in the same context where the usage of the same array is unrolled, the GCC will shoot this false positive warning. I would like to create a small example which demonstrates this warning for the GCC community.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263135</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-11 02:37:15 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=64081) [details]
&gt; Fix the array subscript is above array bounds warning in ByteArray on ARM.

It isn&apos;t an ARM related warning, but a general GCC related warning,
we can find it on all our bots. (x86-linux, x86-windows too)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263143</commentid>
    <comment_count>9</comment_count>
      <attachid>64081</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-08-11 02:51:03 -0700</bug_when>
    <thetext>Comment on attachment 64081
Fix the array subscript is above array bounds warning in ByteArray on ARM.

&gt; It isn&apos;t an ARM related warning, but a general GCC related warning,
&gt; we can find it on all our bots. (x86-linux, x86-windows too)

Okay, I will remove the ARM keyword before landing (cq- is set).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263883</commentid>
    <comment_count>10</comment_count>
      <attachid>64081</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-08-12 11:03:46 -0700</bug_when>
    <thetext>Comment on attachment 64081
Fix the array subscript is above array bounds warning in ByteArray on ARM.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263886</commentid>
    <comment_count>11</comment_count>
      <attachid>64081</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-12 11:23:00 -0700</bug_when>
    <thetext>Comment on attachment 64081
Fix the array subscript is above array bounds warning in ByteArray on ARM.

Clearing flags on attachment: 64081

Committed r65260: &lt;http://trac.webkit.org/changeset/65260&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263887</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-12 11:23:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263899</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-12 11:49:49 -0700</bug_when>
    <thetext>It still fails on Qt Linux Release bot:

../../../JavaScriptCore/wtf/ByteArray.h: In member function ‘bool WebCore::FELighting::drawLighting(WebCore::CanvasPixelArray*, int, int)’:
../../../JavaScriptCore/wtf/ByteArray.h:66: warning: array subscript is above array bounds

Gabor, could you check it tomorrow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269783</commentid>
    <comment_count>14</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-26 02:40:32 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; It still fails on Qt Linux Release bot:
&gt; 
&gt; ../../../JavaScriptCore/wtf/ByteArray.h: In member function ‘bool WebCore::FELighting::drawLighting(WebCore::CanvasPixelArray*, int, int)’:
&gt; ../../../JavaScriptCore/wtf/ByteArray.h:66: warning: array subscript is above array bounds
&gt; 
&gt; Gabor, could you check it tomorrow?

Filed a new bug for it: https://bugs.webkit.org/show_bug.cgi?id=44672</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64018</attachid>
            <date>2010-08-10 09:41:44 -0700</date>
            <delta_ts>2010-08-10 23:19:58 -0700</delta_ts>
            <desc>Fix the array subscript is above array bounds warning in ByteArray on ARM</desc>
            <filename>0001-Fix-the-array-subscript-is-above-array-bounds-warnin.patch</filename>
            <type>text/plain</type>
            <size>2267</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSBiZDFlYzc0ZjQwMjBmYmRkMDE4MjRhMzk1MDQ3MmQ5ODJlNWNiODM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogVHVlLCAxMCBBdWcgMjAxMCAxODoyNzozNSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCB0
aGUgYXJyYXkgc3Vic2NyaXB0IGlzIGFib3ZlIGFycmF5IGJvdW5kcyB3YXJuaW5nIGluIEJ5dGVB
cnJheSBvbiBBUk0uCgpTaWduZWQtb2ZmLWJ5OiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdl
ZC5odT4KLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICB8ICAgMTUgKysrKysr
KysrKysrKysrCiBKYXZhU2NyaXB0Q29yZS93dGYvQnl0ZUFycmF5LmNwcCB8ICAgIDIgKy0KIEph
dmFTY3JpcHRDb3JlL3d0Zi9CeXRlQXJyYXkuaCAgIHwgICAgMiArLQogMyBmaWxlcyBjaGFuZ2Vk
LCAxNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBjN2MwOWIw
Li44NzgxYjUyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDgtMTAgIEdhYm9y
IExva2kgIDxsb2tpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRml4IHRoZSBhcnJheSBzdWJzY3JpcHQgaXMgYWJvdmUgYXJyYXkg
Ym91bmRzIHdhcm5pbmcgaW4gQnl0ZUFycmF5IG9uIEFSTS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMzU4CisKKyAgICAgICAgVGhlIHdhcm5pbmcg
aXMgdmVyeSBzaW1pbGFyIHRvIHRoaXMgb25lOiBodHRwOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEv
c2hvd19idWcuY2dpP2lkPTM3ODYxCisgICAgICAgIElmIHdlIHJlbW92ZSB0aGUgZGVmYXVsdCBz
aXplIG9mIG1fZGF0YSBhcnJheSBhbmQgdXNlIGEgemVyby1zaXplZCBhcnJheQorICAgICAgICB0
aGUgd2FybmluZyBjaGVjayB3aWxsIGJlIHNraXBwZWQgaW4gR0NDLgorCisgICAgICAgICogd3Rm
L0J5dGVBcnJheS5jcHA6CisgICAgICAgIChXVEY6OkJ5dGVBcnJheTo6Y3JlYXRlKToKKyAgICAg
ICAgKiB3dGYvQnl0ZUFycmF5Lmg6CisKIDIwMTAtMDgtMDkgIE9saXZlciBIdW50ICA8b2xpdmVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggUXQvQVJNIGFnYWluLCB0aGlzIHRpbWUgaW5jbHVk
aW5nIHRoZSBvdGhlciBjaGFuZ2VkIGZpbGUuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvQnl0ZUFycmF5LmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9CeXRlQXJyYXkuY3BwCmluZGV4
IDUyNmYxNDcuLmJkOTliZmYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9CeXRlQXJy
YXkuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9CeXRlQXJyYXkuY3BwCkBAIC0zMCw3ICsz
MCw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiBQYXNzUmVmUHRyPEJ5dGVBcnJheT4gQnl0ZUFycmF5
OjpjcmVhdGUoc2l6ZV90IHNpemUpCiB7Ci0gICAgdW5zaWduZWQgY2hhciogYnVmZmVyID0gbmV3
IHVuc2lnbmVkIGNoYXJbc2l6ZSArIHNpemVvZihCeXRlQXJyYXkpIC0gc2l6ZW9mKHNpemVfdCld
OworICAgIHVuc2lnbmVkIGNoYXIqIGJ1ZmZlciA9IG5ldyB1bnNpZ25lZCBjaGFyW3NpemUgKyBz
aXplb2YoQnl0ZUFycmF5KV07CiAgICAgQVNTRVJUKChyZWludGVycHJldF9jYXN0PHNpemVfdD4o
YnVmZmVyKSAmIDMpID09IDApOwogICAgIHJldHVybiBhZG9wdFJlZihuZXcgKGJ1ZmZlcikgQnl0
ZUFycmF5KHNpemUpKTsKIH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9CeXRlQXJy
YXkuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9CeXRlQXJyYXkuaAppbmRleCBmNWY1ZGVkLi4wYmIz
ZmMzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvQnl0ZUFycmF5LmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0J5dGVBcnJheS5oCkBAIC04Niw3ICs4Niw3IEBAIG5hbWVzcGFjZSBX
VEYgewogICAgICAgICB7CiAgICAgICAgIH0KICAgICAgICAgc2l6ZV90IG1fc2l6ZTsKLSAgICAg
ICAgdW5zaWduZWQgY2hhciBtX2RhdGFbc2l6ZW9mKHNpemVfdCldOworICAgICAgICB1bnNpZ25l
ZCBjaGFyIG1fZGF0YVswXTsKICAgICB9OwogfQogCi0tIAoxLjcuMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64081</attachid>
            <date>2010-08-11 00:21:06 -0700</date>
            <delta_ts>2010-08-12 11:22:59 -0700</delta_ts>
            <desc>Fix the array subscript is above array bounds warning in ByteArray on ARM.</desc>
            <filename>0001-Fix-the-array-subscript-is-above-array-bounds-warnin.patch</filename>
            <type>text/plain</type>
            <size>1801</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSA2YjNlMzI5MmVlYjFhYjcwNmEzOTdlZjI0YjA2NDAyYTM5NDg5Mjc5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogV2VkLCAxMSBBdWcgMjAxMCAwOTowNTowMSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCB0
aGUgYXJyYXkgc3Vic2NyaXB0IGlzIGFib3ZlIGFycmF5IGJvdW5kcyB3YXJuaW5nIGluIEJ5dGVB
cnJheSBvbiBBUk0uCgpTaWduZWQtb2ZmLWJ5OiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdl
ZC5odT4KLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICB8ICAgMTIgKysrKysr
KysrKysrCiBKYXZhU2NyaXB0Q29yZS93dGYvQnl0ZUFycmF5LmNwcCB8ICAgIDMgKystCiAyIGZp
bGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGM3YzA5YjAuLjRlYzUzNDQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZworKysgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0w
OC0xMSAgR2Fib3IgTG9raSAgPGxva2lAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggdGhlIGFycmF5IHN1YnNjcmlwdCBpcyBh
Ym92ZSBhcnJheSBib3VuZHMgd2FybmluZyBpbiBCeXRlQXJyYXkgb24gQVJNLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMzNTgKKworICAgICAgICBU
aGUgd2FybmluZyBpcyB2ZXJ5IHNpbWlsYXIgdG8gdGhpcyBvbmU6IGh0dHA6Ly9nY2MuZ251Lm9y
Zy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9Mzc4NjEKKworICAgICAgICAqIHd0Zi9CeXRlQXJy
YXkuY3BwOgorICAgICAgICAoV1RGOjpCeXRlQXJyYXk6OmNyZWF0ZSk6CisKIDIwMTAtMDgtMDkg
IE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggUXQvQVJNIGFn
YWluLCB0aGlzIHRpbWUgaW5jbHVkaW5nIHRoZSBvdGhlciBjaGFuZ2VkIGZpbGUuCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQnl0ZUFycmF5LmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9CeXRlQXJyYXkuY3BwCmluZGV4IDUyNmYxNDcuLjkxMGFmNTkgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9CeXRlQXJyYXkuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9CeXRl
QXJyYXkuY3BwCkBAIC0yNSwxMiArMjUsMTMgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkJ5dGVBcnJheS5oIgorI2luY2x1ZGUgIlN0ZExpYkV4dHJhcy5oIgogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAogUGFzc1JlZlB0cjxCeXRlQXJyYXk+IEJ5dGVBcnJheTo6Y3JlYXRlKHNpemVf
dCBzaXplKQogewotICAgIHVuc2lnbmVkIGNoYXIqIGJ1ZmZlciA9IG5ldyB1bnNpZ25lZCBjaGFy
W3NpemUgKyBzaXplb2YoQnl0ZUFycmF5KSAtIHNpemVvZihzaXplX3QpXTsKKyAgICB1bnNpZ25l
ZCBjaGFyKiBidWZmZXIgPSBuZXcgdW5zaWduZWQgY2hhcltzaXplICsgT0JKRUNUX09GRlNFVE9G
KEJ5dGVBcnJheSwgbV9kYXRhKV07CiAgICAgQVNTRVJUKChyZWludGVycHJldF9jYXN0PHNpemVf
dD4oYnVmZmVyKSAmIDMpID09IDApOwogICAgIHJldHVybiBhZG9wdFJlZihuZXcgKGJ1ZmZlcikg
Qnl0ZUFycmF5KHNpemUpKTsKIH0KLS0gCjEuNy4wLjQKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>