<?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>25912</bug_id>
          
          <creation_ts>2009-05-21 00:24:04 -0700</creation_ts>
          <short_desc>Harden NumberPrototype.cpp by removing use of strcpy()</short_desc>
          <delta_ts>2009-05-21 01:43:16 -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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Cameron Zwarich (cpst)">zwarich</reporter>
          <assigned_to name="Cameron Zwarich (cpst)">zwarich</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>122263</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2009-05-21 00:24:04 -0700</bug_when>
    <thetext>We should do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122267</commentid>
    <comment_count>1</comment_count>
      <attachid>30524</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2009-05-21 00:37:39 -0700</bug_when>
    <thetext>Created attachment 30524
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122268</commentid>
    <comment_count>2</comment_count>
      <attachid>30524</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2009-05-21 00:40:25 -0700</bug_when>
    <thetext>Comment on attachment 30524
Proposed patch

Clearing review request to deal with comments by Maciej on IRC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122281</commentid>
    <comment_count>3</comment_count>
      <attachid>30526</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2009-05-21 01:14:59 -0700</bug_when>
    <thetext>Created attachment 30526
Revised proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122283</commentid>
    <comment_count>4</comment_count>
      <attachid>30526</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-05-21 01:18:56 -0700</bug_when>
    <thetext>Comment on attachment 30526
Revised proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122294</commentid>
    <comment_count>5</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2009-05-21 01:43:16 -0700</bug_when>
    <thetext>Landed in r43962.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30524</attachid>
            <date>2009-05-21 00:37:39 -0700</date>
            <delta_ts>2009-05-21 01:14:59 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>strcpy-number.diff</filename>
            <type>text/plain</type>
            <size>2466</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQzOTYw
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDUt
MjEgIENhbWVyb24gWndhcmljaCAgPHp3YXJpY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAyNTkxMjogSGFyZGVuIE51bWJl
clByb3RvdHlwZS5jcHAgYnkgcmVtb3ZpbmcgdXNlIG9mIHN0cmNweSgpCisgICAgICAgIDxodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU5MTI+CisKKyAgICAgICAgVGhp
cyBjYXVzZXMgbm8gY2hhbmdlIG9uIFN1blNwaWRlci4KKworICAgICAgICAqIHJ1bnRpbWUvTnVt
YmVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6aW50ZWdlclBhcnROb0V4cCk6IHJlcGxh
Y2Ugc3RyY3B5KCkgd2l0aCBtZW1jcHkoKSBhbmQgbW92ZSB0aGUKKyAgICAgICAgZXhwbGljaXQg
bnVsbC10ZXJtaW5hdGlvbiBjbG9zZXIgdG8gdGhlIG1lbWNweSgpIGZvciBlYXNpZXIgdmlzdWFs
CisgICAgICAgIGluc3BlY3Rpb24gb2YgdGhlIGNvZGUuCisgICAgICAgIChKU0M6OmZyYWN0aW9u
YWxQYXJ0VG9TdHJpbmcpOiByZXBsYWNlIHN0cmNweSgpIHdpdGggbWVtY3B5KCkuCisgICAgICAg
IChKU0M6Om51bWJlclByb3RvRnVuY1RvRXhwb25lbnRpYWwpOiBkaXR0by4KKwogMjAwOS0wNS0y
MCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IENh
bWVyb24gWndhcmljaC4KSW5kZXg6IHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDQzOTYwKQorKysg
cnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MiwxMiArODIs
MTIgQEAgc3RhdGljIFVTdHJpbmcgaW50ZWdlclBhcnROb0V4cChkb3VibGUgZAogICAgICAgICBW
ZWN0b3I8Y2hhciwgMTAyND4gYnVmKGRlY2ltYWxQb2ludCArIDEpOwogCiAgICAgICAgIGlmIChz
dGF0aWNfY2FzdDxpbnQ+KGxlbmd0aCkgPD0gZGVjaW1hbFBvaW50KSB7Ci0gICAgICAgICAgICBz
dHJjcHkoYnVmLmRhdGEoKSwgcmVzdWx0KTsKKyAgICAgICAgICAgIG1lbWNweShidWYuZGF0YSgp
LCByZXN1bHQsIGxlbmd0aCk7CiAgICAgICAgICAgICBtZW1zZXQoYnVmLmRhdGEoKSArIGxlbmd0
aCwgJzAnLCBkZWNpbWFsUG9pbnQgLSBsZW5ndGgpOwogICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgIHN0cm5jcHkoYnVmLmRhdGEoKSwgcmVzdWx0LCBkZWNpbWFsUG9pbnQpOwotCiAgICAgICAg
IGJ1ZltkZWNpbWFsUG9pbnRdID0gJ1wwJzsKKwogICAgICAgICBzdHIuYXBwZW5kKGJ1Zi5kYXRh
KCkpOwogICAgIH0KIApAQCAtMjc3LDcgKzI3Nyw4IEBAIHN0YXRpYyB2b2lkIGZyYWN0aW9uYWxQ
YXJ0VG9TdHJpbmcoY2hhcioKICAgICAgICAgICAgIHN0cm5jcHkoYnVmICsgaSwgcmVzdWx0ICsg
MSwgZnJhY3Rpb25hbERpZ2l0cyk7CiAgICAgICAgICAgICBpICs9IGZyYWN0aW9uYWxEaWdpdHM7
CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBzdHJjcHkoYnVmICsgaSwgcmVzdWx0ICsg
MSk7CisgICAgICAgICAgICBtZW1jcHkoYnVmICsgaSwgcmVzdWx0ICsgMSwgcmVzdWx0TGVuZ3Ro
IC0gMSk7CisgICAgICAgICAgICBidWZbaSArIHJlc3VsdExlbmd0aF0gPSAnXDAnOwogICAgICAg
ICAgICAgaSArPSBzdGF0aWNfY2FzdDxpbnQ+KHJlc3VsdExlbmd0aCkgLSAxOwogICAgICAgICB9
CiAgICAgfQpAQCAtMzU0LDkgKzM1NSwxMSBAQCBKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgbnVtYmVy
UHJvdG9GdW5jVG9FCiAgICAgaWYgKHNpZ24pCiAgICAgICAgIGJ1ZltpKytdID0gJy0nOwogCi0g
ICAgaWYgKGRlY2ltYWxQb2ludCA9PSA5OTkpIC8vID8gOTk5OSBpcyB0aGUgbWFnaWNhbCAicmVz
dWx0IGlzIEluZiBvciBOYU4iIHZhbHVlLiAgd2hhdCdzIDk5OT8/Ci0gICAgICAgIHN0cmNweShi
dWYgKyBpLCByZXN1bHQpOwotICAgIGVsc2UgeworICAgIC8vID8gOTk5OSBpcyB0aGUgbWFnaWNh
bCAicmVzdWx0IGlzIEluZiBvciBOYU4iIHZhbHVlLiAgd2hhdCdzIDk5OT8/CisgICAgaWYgKGRl
Y2ltYWxQb2ludCA9PSA5OTkpIHsKKyAgICAgICAgbWVtY3B5KGJ1ZiArIGksIHJlc3VsdCwgcmVz
dWx0TGVuZ3RoKTsKKyAgICAgICAgYnVmW2kgKyByZXN1bHRMZW5ndGhdID0gJ1wwJzsKKyAgICB9
IGVsc2UgewogICAgICAgICBidWZbaSsrXSA9IHJlc3VsdFswXTsKIAogICAgICAgICBpZiAoaW5j
bHVkZUFsbERpZ2l0cykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30526</attachid>
            <date>2009-05-21 01:14:59 -0700</date>
            <delta_ts>2009-05-21 01:18:56 -0700</delta_ts>
            <desc>Revised proposed patch</desc>
            <filename>strcpy-number.diff</filename>
            <type>text/plain</type>
            <size>3034</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQzOTYw
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMDktMDUt
MjEgIENhbWVyb24gWndhcmljaCAgPHp3YXJpY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAyNTkxMjogSGFyZGVuIE51bWJl
clByb3RvdHlwZS5jcHAgYnkgcmVtb3ZpbmcgdXNlIG9mIHN0cmNweSgpCisgICAgICAgIDxodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU5MTI+CisKKyAgICAgICAgVGhp
cyBjYXVzZXMgbm8gY2hhbmdlIG9uIFN1blNwaWRlci4KKworICAgICAgICAqIHJ1bnRpbWUvTnVt
YmVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6aW50ZWdlclBhcnROb0V4cCk6IHJlcGxh
Y2Ugc3RyY3B5KCkgd2l0aCBtZW1jcHkoKSwgQVNTRVJUIHRoYXQgdGhlCisgICAgICAgIHRlbXBv
cmFyeSBidWZmZXIgaGFzIHN1ZmZpY2llbnQgc3BhY2UgdG8gc3RvcmUgdGhlIHJlc3VsdCwgYW5k
IG1vdmUgdGhlCisgICAgICAgIGV4cGxpY2l0IG51bGwtdGVybWluYXRpb24gY2xvc2VyIHRvIHRo
ZSBtZW1jcHkoKSBmb3IgZWFzaWVyIHZpc3VhbCBpbnNwZWN0aW9uCisgICAgICAgIG9mIHRoZSBj
b2RlLgorICAgICAgICAoSlNDOjpmcmFjdGlvbmFsUGFydFRvU3RyaW5nKTogcmVwbGFjZSBzdHJj
cHkoKSB3aXRoIG1lbWNweSgpLCBhbmQgQVNTRVJUCisgICAgICAgIHRoYXQgdGhlIHRlbXBvcmFy
eSBidWZmZXIgaGFzIHN1ZmZpY2llbnQgc3BhY2UgdG8gc3RvcmUgdGhlIHJlc3VsdC4gVGhlcmUK
KyAgICAgICAgaXMgbm8gZXhwbGljaXQgbnVsbC10ZXJtaW5hdGlvbiBiZWNhdXNlIHRoaXMgaXMg
ZG9uZSBieSB0aGUgY2FsbGVyLiBUaGUKKyAgICAgICAgc2FtZSBpcyBhbHJlYWR5IHRydWUgZm9y
IGV4cG9uZW50aWFsUGFydFRvU3RyaW5nKCkuCisgICAgICAgIChKU0M6Om51bWJlclByb3RvRnVu
Y1RvRXhwb25lbnRpYWwpOiByZXBsYWNlIHN0cmNweSgpIHdpdGggbWVtY3B5KCksIGV4cGxpY2l0
bHkKKyAgICAgICAgbnVsbC10ZXJtaW5hdGUgdGhlIHJlc3VsdCwgYW5kIEFTU0VSVCB0aGF0IHRo
ZSB0ZW1wb3JhcnkgYnVmZmVyIGhhcyBzdWZmaWNpZW50CisgICAgICAgIHNwYWNlIHRvIHN0b3Jl
IHRoZSByZXN1bHQuCisKIDIwMDktMDUtMjAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBDYW1lcm9uIFp3YXJpY2guCkluZGV4OiBydW50aW1lL051
bWJlclByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcnVudGltZS9OdW1iZXJQcm90b3R5cGUu
Y3BwCShyZXZpc2lvbiA0Mzk2MCkKKysrIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtODIsMTIgKzgyLDEzIEBAIHN0YXRpYyBVU3RyaW5nIGludGVnZXJQYXJ0
Tm9FeHAoZG91YmxlIGQKICAgICAgICAgVmVjdG9yPGNoYXIsIDEwMjQ+IGJ1ZihkZWNpbWFsUG9p
bnQgKyAxKTsKIAogICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8aW50PihsZW5ndGgpIDw9IGRlY2lt
YWxQb2ludCkgewotICAgICAgICAgICAgc3RyY3B5KGJ1Zi5kYXRhKCksIHJlc3VsdCk7CisgICAg
ICAgICAgICBBU1NFUlQoZGVjaW1hbFBvaW50IDwgMTAyNCk7CisgICAgICAgICAgICBtZW1jcHko
YnVmLmRhdGEoKSwgcmVzdWx0LCBsZW5ndGgpOwogICAgICAgICAgICAgbWVtc2V0KGJ1Zi5kYXRh
KCkgKyBsZW5ndGgsICcwJywgZGVjaW1hbFBvaW50IC0gbGVuZ3RoKTsKICAgICAgICAgfSBlbHNl
CiAgICAgICAgICAgICBzdHJuY3B5KGJ1Zi5kYXRhKCksIHJlc3VsdCwgZGVjaW1hbFBvaW50KTsK
LQogICAgICAgICBidWZbZGVjaW1hbFBvaW50XSA9ICdcMCc7CisKICAgICAgICAgc3RyLmFwcGVu
ZChidWYuZGF0YSgpKTsKICAgICB9CiAKQEAgLTI3Nyw3ICsyNzgsOCBAQCBzdGF0aWMgdm9pZCBm
cmFjdGlvbmFsUGFydFRvU3RyaW5nKGNoYXIqCiAgICAgICAgICAgICBzdHJuY3B5KGJ1ZiArIGks
IHJlc3VsdCArIDEsIGZyYWN0aW9uYWxEaWdpdHMpOwogICAgICAgICAgICAgaSArPSBmcmFjdGlv
bmFsRGlnaXRzOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgc3RyY3B5KGJ1ZiArIGks
IHJlc3VsdCArIDEpOworICAgICAgICAgICAgQVNTRVJUKGkgKyByZXN1bHRMZW5ndGggLSAxIDwg
ODApOworICAgICAgICAgICAgbWVtY3B5KGJ1ZiArIGksIHJlc3VsdCArIDEsIHJlc3VsdExlbmd0
aCAtIDEpOwogICAgICAgICAgICAgaSArPSBzdGF0aWNfY2FzdDxpbnQ+KHJlc3VsdExlbmd0aCkg
LSAxOwogICAgICAgICB9CiAgICAgfQpAQCAtMzU0LDkgKzM1NiwxMiBAQCBKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgbnVtYmVyUHJvdG9GdW5jVG9FCiAgICAgaWYgKHNpZ24pCiAgICAgICAgIGJ1Zltp
KytdID0gJy0nOwogCi0gICAgaWYgKGRlY2ltYWxQb2ludCA9PSA5OTkpIC8vID8gOTk5OSBpcyB0
aGUgbWFnaWNhbCAicmVzdWx0IGlzIEluZiBvciBOYU4iIHZhbHVlLiAgd2hhdCdzIDk5OT8/Ci0g
ICAgICAgIHN0cmNweShidWYgKyBpLCByZXN1bHQpOwotICAgIGVsc2UgeworICAgIC8vID8gOTk5
OSBpcyB0aGUgbWFnaWNhbCAicmVzdWx0IGlzIEluZiBvciBOYU4iIHZhbHVlLiAgd2hhdCdzIDk5
OT8/CisgICAgaWYgKGRlY2ltYWxQb2ludCA9PSA5OTkpIHsKKyAgICAgICAgQVNTRVJUKGkgKyBy
ZXN1bHRMZW5ndGggPCA4MCk7CisgICAgICAgIG1lbWNweShidWYgKyBpLCByZXN1bHQsIHJlc3Vs
dExlbmd0aCk7CisgICAgICAgIGJ1ZltpICsgcmVzdWx0TGVuZ3RoXSA9ICdcMCc7CisgICAgfSBl
bHNlIHsKICAgICAgICAgYnVmW2krK10gPSByZXN1bHRbMF07CiAKICAgICAgICAgaWYgKGluY2x1
ZGVBbGxEaWdpdHMpCg==
</data>
<flag name="review"
          id="15421"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>