<?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>141258</bug_id>
          
          <creation_ts>2015-02-04 12:58:50 -0800</creation_ts>
          <short_desc>Optimized equal() functions in StringImpl.h are not ASan compatible</short_desc>
          <delta_ts>2015-02-04 15:38:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=140873</see_also>
          <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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1066892</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-04 12:58:50 -0800</bug_when>
    <thetext>equal() reads out of bounds; we started seeing this after the fix for bug 140873.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066902</commentid>
    <comment_count>1</comment_count>
      <attachid>246045</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-04 13:55:12 -0800</bug_when>
    <thetext>Created attachment 246045
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066932</commentid>
    <comment_count>2</comment_count>
      <attachid>246045</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-02-04 14:43:17 -0800</bug_when>
    <thetext>Comment on attachment 246045
proposed fix

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

&gt; Source/WTF/wtf/text/StringImpl.h:878
&gt; +#if (CPU(X86_64) || CPU(ARM64)) &amp;&amp; !ASAN_ENABLED

You may want to consider checking ASAN_ENABLED in an if-statement and changing the #if to #elif on this line such that these #if/elif/else-macro blocks look like:

#if ASAN_ENABLED
    ...
#elif CPU(X86_64) || CPU(ARM64)
    ...
...
#else
    ...
#endif

Then we do not need to add the conjunct !ASAN_ENABLED to each macro conditional expression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066943</commentid>
    <comment_count>3</comment_count>
      <attachid>246045</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-04 14:57:32 -0800</bug_when>
    <thetext>Comment on attachment 246045
proposed fix

I wanted to keep debug-only code after production code - we usually try to keep the &quot;best&quot; variant first in WebKit code base.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066968</commentid>
    <comment_count>4</comment_count>
      <attachid>246045</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-04 15:38:47 -0800</bug_when>
    <thetext>Comment on attachment 246045
proposed fix

Clearing flags on attachment: 246045

Committed r179644: &lt;http://trac.webkit.org/changeset/179644&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066969</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-04 15:38:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246045</attachid>
            <date>2015-02-04 13:55:12 -0800</date>
            <delta_ts>2015-02-04 15:38:47 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>StringImplEqual.txt</filename>
            <type>text/plain</type>
            <size>2642</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNzk2MjcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE1LTAyLTA0ICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE9wdGltaXplZCBlcXVhbCgpIGZ1bmN0aW9ucyBp
biBTdHJpbmdJbXBsLmggYXJlIG5vdCBBU2FuIGNvbXBhdGlibGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTI1OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5oOiAo
V1RGOjplcXVhbCk6IEFkZCBjdXN0b20gaW1wbGVtZW50YXRpb25zIGZvciBBU2FuLgorCiAyMDE1
LTAyLTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHJl
bW92ZUZpcnN0KHZhbHVlKSAvIHJlbW92ZUFsbCh2YWx1ZSkgbWV0aG9kcyB0byBXVEY6OlZlY3Rv
cgpJbmRleDogU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgJKHJldmlzaW9uIDE3OTYxNykKKysrIFNv
dXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NzUsNyAr
ODc1LDcgQEAgaW5saW5lIFQgbG9hZFVuYWxpZ25lZChjb25zdCBjaGFyKiBzKQogfQogCiAvLyBE
byBjb21wYXJpc29ucyA4IG9yIDQgYnl0ZXMtYXQtYS10aW1lIG9uIGFyY2hpdGVjdHVyZXMgd2hl
cmUgaXQncyBzYWZlLgotI2lmIENQVShYODZfNjQpIHx8IENQVShBUk02NCkKKyNpZiAoQ1BVKFg4
Nl82NCkgfHwgQ1BVKEFSTTY0KSkgJiYgIUFTQU5fRU5BQkxFRAogQUxXQVlTX0lOTElORSBib29s
IGVxdWFsKGNvbnN0IExDaGFyKiBhTENoYXIsIGNvbnN0IExDaGFyKiBiTENoYXIsIHVuc2lnbmVk
IGxlbmd0aCkKIHsKICAgICB1bnNpZ25lZCBkd29yZExlbmd0aCA9IGxlbmd0aCA+PiAzOwpAQCAt
OTQ1LDcgKzk0NSw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBlcXVhbChjb25zdCBVQ2hhciogYVUK
IAogICAgIHJldHVybiB0cnVlOwogfQotI2VsaWYgQ1BVKFg4NikKKyNlbGlmIENQVShYODYpICYm
ICFBU0FOX0VOQUJMRUQKIEFMV0FZU19JTkxJTkUgYm9vbCBlcXVhbChjb25zdCBMQ2hhciogYUxD
aGFyLCBjb25zdCBMQ2hhciogYkxDaGFyLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgY29uc3Qg
Y2hhciogYSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFMQ2hhcik7CkBAIC05OTIs
NyArOTkyLDcgQEAgQUxXQVlTX0lOTElORSBib29sIGVxdWFsKGNvbnN0IFVDaGFyKiBhVQogCiAg
ICAgcmV0dXJuIHRydWU7CiB9Ci0jZWxpZiBQTEFURk9STShJT1MpICYmIFdURl9BUk1fQVJDSF9B
VF9MRUFTVCg3KQorI2VsaWYgUExBVEZPUk0oSU9TKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1Qo
NykgJiYgIUFTQU5fRU5BQkxFRAogQUxXQVlTX0lOTElORSBib29sIGVxdWFsKGNvbnN0IExDaGFy
KiBhLCBjb25zdCBMQ2hhciogYiwgdW5zaWduZWQgbGVuZ3RoKQogewogICAgIGJvb2wgaXNFcXVh
bCA9IGZhbHNlOwpAQCAtMTA4MCw5ICsxMDgwLDI2IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBlcXVh
bChjb25zdCBVQ2hhciogYSwKICAgICAgICAgKTsKICAgICByZXR1cm4gaXNFcXVhbDsKIH0KLSNl
bHNlCisjZWxpZiAhQVNBTl9FTkFCTEVECiBBTFdBWVNfSU5MSU5FIGJvb2wgZXF1YWwoY29uc3Qg
TENoYXIqIGEsIGNvbnN0IExDaGFyKiBiLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJuICFtZW1j
bXAoYSwgYiwgbGVuZ3RoKTsgfQogQUxXQVlTX0lOTElORSBib29sIGVxdWFsKGNvbnN0IFVDaGFy
KiBhLCBjb25zdCBVQ2hhciogYiwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiAhbWVtY21wKGEs
IGIsIGxlbmd0aCAqIHNpemVvZihVQ2hhcikpOyB9CisjZWxzZQorQUxXQVlTX0lOTElORSBib29s
IGVxdWFsKGNvbnN0IExDaGFyKiBhLCBjb25zdCBMQ2hhciogYiwgdW5zaWduZWQgbGVuZ3RoKQor
eworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgeworICAgICAgICBp
ZiAoYVtpXSAhPSBiW2ldKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KK0FMV0FZU19JTkxJTkUgYm9vbCBlcXVhbChjb25zdCBVQ2hhciogYSwg
Y29uc3QgVUNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKGFbaV0gIT0gYltpXSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CiAjZW5kaWYK
IAogQUxXQVlTX0lOTElORSBib29sIGVxdWFsKGNvbnN0IExDaGFyKiBhLCBjb25zdCBVQ2hhciog
YiwgdW5zaWduZWQgbGVuZ3RoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>