<?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>112178</bug_id>
          
          <creation_ts>2013-03-12 12:46:32 -0700</creation_ts>
          <short_desc>Make CheckedArithmetic slightly more sane</short_desc>
          <delta_ts>2013-03-12 14:07: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>New Bugs</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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>853711</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-03-12 12:46:32 -0700</bug_when>
    <thetext>Make CheckedArithmetic slightly more sane</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853712</commentid>
    <comment_count>1</comment_count>
      <attachid>192789</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-03-12 12:49:15 -0700</bug_when>
    <thetext>Created attachment 192789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853714</commentid>
    <comment_count>2</comment_count>
      <attachid>192789</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-03-12 12:54:54 -0700</bug_when>
    <thetext>Comment on attachment 192789
Patch

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

r=me

&gt; Source/WTF/wtf/CheckedArithmetic.h:73
&gt; +    HasOverflowed,
&gt; +    Safe

I think this would be clearer if the two states were called &quot;DidOverflow&quot; and &quot;DidNotOverflow&quot;. Whether something is &quot;safe&quot; is a value judgement this data cannot make.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853760</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-03-12 14:07:48 -0700</bug_when>
    <thetext>Committed r145580: &lt;http://trac.webkit.org/changeset/145580&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192789</attachid>
            <date>2013-03-12 12:49:15 -0700</date>
            <delta_ts>2013-03-12 12:54:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112178-20130312124515.patch</filename>
            <type>text/plain</type>
            <size>3503</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY0OGJlNTVkMDQxMDAwZjYxM2IwOTgz
ODFjZDBjYWQ3YjIxMzlkN2QuLjZkZDIyNjQ2YmQ2ODJiM2FlMjA4MDQ3ZjA3MWQ0ZmFhN2RjNTIw
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTMtMDMtMTIgIE9saXZlciBIdW50ICA8b2xpdmVy
QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIENoZWNrZWRBcml0aG1ldGljIHNsaWdodGx5IG1v
cmUgc2FuZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTEyMTc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGFuIGVudW0gdHlwZSBmb3Igc2FmZUdldCByYXRoZXIgdGhhbiB1c2luZyBhIGJvb2wsCisg
ICAgICAgIGFuZCBjb3JyZWN0bHkgaGFuZGxlIHVuc2lnbmVkICogdW5zaWduZWQsIHdoZW4gb25l
IHZhbHVlCisgICAgICAgIGlzIDAuCisKKyAgICAgICAgKiB3dGYvQ2hlY2tlZEFyaXRobWV0aWMu
aDoKKyAgICAgICAgKFdURjo6RU5VTV9DTEFTUyk6CisgICAgICAgIChXVEYpOgorICAgICAgICAo
V1RGOjpvcGVyYXRvcispOgorICAgICAgICAoV1RGOjpvcGVyYXRvci0pOgorICAgICAgICAoV1RG
OjpvcGVyYXRvciopOgorCiAyMDEzLTAzLTExICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4LiAgUm9sbGluZyBvdXQgaW5h
ZHZlcnRlbnQgc2V0dGluZyBvZiBEQVRBX0xPR19UT19GSUxFLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvQ2hlY2tlZEFyaXRobWV0aWMuaCBiL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0
aG1ldGljLmgKaW5kZXggZjVkM2I3NTUwMGEwMmE0MmZhYTU1ZjhjZGE2YWE0YTVkYTEwNTk5ZS4u
NDU1ODc5N2ZkNzQzMTU4YzdiYmRhODJiODE1MjVkYmE2ZGFlMmI5MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRobWV0aWMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DaGVj
a2VkQXJpdGhtZXRpYy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIENoZWNrZWRBcml0aG1l
dGljX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL0VudW1D
bGFzcy5oPgogI2luY2x1ZGUgPHd0Zi9UeXBlVHJhaXRzLmg+CiAKICNpbmNsdWRlIDxsaW1pdHM+
CkBAIC02Niw2ICs2NywxMiBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAorRU5VTV9DTEFTUyhDaGVj
a2VkU3RhdGUpCit7CisgICAgSGFzT3ZlcmZsb3dlZCwKKyAgICBTYWZlCit9IEVOVU1fQ0xBU1Nf
RU5EKENoZWNrZWRTdGF0ZSk7CisgICAgCiBjbGFzcyBDcmFzaE9uT3ZlcmZsb3cgewogcHJvdGVj
dGVkOgogICAgIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggdm9pZCBvdmVyZmxvd2VkKCkKQEAgLTMx
Niw3ICszMjMsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgTEhTLCB0eXBlbmFtZSBSSFMsIHR5cGVu
YW1lIFJlc3VsdFR5cGU+IHN0cnVjdCBBcml0aG1ldGljT3BlcgogICAgIHsKICAgICAgICAgUmVz
dWx0VHlwZSB0ZW1wID0gbGhzICogcmhzOwogICAgICAgICBpZiAodGVtcCA8IGxocykKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiAhcmhzOwogICAgICAgICBy
ZXN1bHQgPSB0ZW1wOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkBAIC01MzQsMTAgKzU0
MSwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3ZhbHVlOwogICAgIH0KICAgICAKLSAg
ICBib29sIHNhZmVHZXQoVCYgdmFsdWUpIGNvbnN0IFdBUk5fVU5VU0VEX1JFVFVSTgorICAgIGlu
bGluZSBDaGVja2VkU3RhdGUgc2FmZUdldChUJiB2YWx1ZSkgY29uc3QgV0FSTl9VTlVTRURfUkVU
VVJOCiAgICAgewogICAgICAgICB2YWx1ZSA9IG1fdmFsdWU7Ci0gICAgICAgIHJldHVybiB0aGlz
LT5oYXNPdmVyZmxvd2VkKCk7CisgICAgICAgIGlmICh0aGlzLT5oYXNPdmVyZmxvd2VkKCkpCisg
ICAgICAgICAgICByZXR1cm4gQ2hlY2tlZFN0YXRlOjpIYXNPdmVyZmxvd2VkOworICAgICAgICBy
ZXR1cm4gQ2hlY2tlZFN0YXRlOjpTYWZlOwogICAgIH0KIAogICAgIC8vIE11dGF0aW5nIGFzc2ln
bm1lbnQKQEAgLTYzOCw3ICs2NDcsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVSwgdHlwZW5hbWUg
ViwgdHlwZW5hbWUgT3ZlcmZsb3dIYW5kbGVyPiBzdGF0aWMgaW5saW5lIENoZWNrZQogewogICAg
IFUgeCA9IDA7CiAgICAgViB5ID0gMDsKLSAgICBib29sIG92ZXJmbG93ZWQgPSBsaHMuc2FmZUdl
dCh4KSB8fCByaHMuc2FmZUdldCh5KTsKKyAgICBib29sIG92ZXJmbG93ZWQgPSBsaHMuc2FmZUdl
dCh4KSA9PSBDaGVja2VkU3RhdGU6Okhhc092ZXJmbG93ZWQgfHwgcmhzLnNhZmVHZXQoeSkgPT0g
Q2hlY2tlZFN0YXRlOjpIYXNPdmVyZmxvd2VkOwogICAgIHR5cGVuYW1lIFJlc3VsdDxVLCBWPjo6
UmVzdWx0VHlwZSByZXN1bHQgPSAwOwogICAgIG92ZXJmbG93ZWQgfD0gIXNhZmVBZGQoeCwgeSwg
cmVzdWx0KTsKICAgICBpZiAob3ZlcmZsb3dlZCkKQEAgLTY1MCw3ICs2NTksNyBAQCB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVSwgdHlwZW5hbWUgViwgdHlwZW5hbWUgT3ZlcmZsb3dIYW5kbGVyPiBzdGF0
aWMgaW5saW5lIENoZWNrZQogewogICAgIFUgeCA9IDA7CiAgICAgViB5ID0gMDsKLSAgICBib29s
IG92ZXJmbG93ZWQgPSBsaHMuc2FmZUdldCh4KSB8fCByaHMuc2FmZUdldCh5KTsKKyAgICBib29s
IG92ZXJmbG93ZWQgPSBsaHMuc2FmZUdldCh4KSA9PSBDaGVja2VkU3RhdGU6Okhhc092ZXJmbG93
ZWQgfHwgcmhzLnNhZmVHZXQoeSkgPT0gQ2hlY2tlZFN0YXRlOjpIYXNPdmVyZmxvd2VkOwogICAg
IHR5cGVuYW1lIFJlc3VsdDxVLCBWPjo6UmVzdWx0VHlwZSByZXN1bHQgPSAwOwogICAgIG92ZXJm
bG93ZWQgfD0gIXNhZmVTdWIoeCwgeSwgcmVzdWx0KTsKICAgICBpZiAob3ZlcmZsb3dlZCkKQEAg
LTY2Miw3ICs2NzEsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVSwgdHlwZW5hbWUgViwgdHlwZW5h
bWUgT3ZlcmZsb3dIYW5kbGVyPiBzdGF0aWMgaW5saW5lIENoZWNrZQogewogICAgIFUgeCA9IDA7
CiAgICAgViB5ID0gMDsKLSAgICBib29sIG92ZXJmbG93ZWQgPSBsaHMuc2FmZUdldCh4KSB8fCBy
aHMuc2FmZUdldCh5KTsKKyAgICBib29sIG92ZXJmbG93ZWQgPSBsaHMuc2FmZUdldCh4KSA9PSBD
aGVja2VkU3RhdGU6Okhhc092ZXJmbG93ZWQgfHwgcmhzLnNhZmVHZXQoeSkgPT0gQ2hlY2tlZFN0
YXRlOjpIYXNPdmVyZmxvd2VkOwogICAgIHR5cGVuYW1lIFJlc3VsdDxVLCBWPjo6UmVzdWx0VHlw
ZSByZXN1bHQgPSAwOwogICAgIG92ZXJmbG93ZWQgfD0gIXNhZmVNdWx0aXBseSh4LCB5LCByZXN1
bHQpOwogICAgIGlmIChvdmVyZmxvd2VkKQo=
</data>
<flag name="review"
          id="214133"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>