<?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>145563</bug_id>
          
          <creation_ts>2015-06-02 13:08:26 -0700</creation_ts>
          <short_desc>JSExport protocol with an NSInteger property converts negative values to 18446744073709552000</short_desc>
          <delta_ts>2015-06-02 15:14: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>JavaScriptCore</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1098852</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2015-06-02 13:08:26 -0700</bug_when>
    <thetext>Steps to Reproduce:
My code roughly looks like:

@protocol XXThingExports &lt;JSExport&gt;
@property (nonatomic) NSInteger level;
@end

@interface XXThing : NSObject &lt;XXThingExports&gt;
@property (nonatomic) NSInteger level;
@end

1. From Objective-C, set `level` to a negative value like -46.
2. Accessing the `level` property of an XXThing object from JavaScript gives 18446744073709552000.

Expected Results:
thing.level should be -46

Actual Results:
thing.level is 18446744073709552000</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098853</commentid>
    <comment_count>1</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2015-06-02 13:10:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/19123511&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098866</commentid>
    <comment_count>2</comment_count>
      <attachid>254089</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2015-06-02 13:23:00 -0700</bug_when>
    <thetext>Created attachment 254089
The Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098879</commentid>
    <comment_count>3</comment_count>
      <attachid>254089</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-02 13:38:05 -0700</bug_when>
    <thetext>Comment on attachment 254089
The Patch

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

&gt; Source/JavaScriptCore/API/tests/testapi.mm:1421
&gt; +@property (nonatomic) NSInteger number;

What if the property is an NSUInteger? Could we add a test case that covers that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098898</commentid>
    <comment_count>4</comment_count>
      <attachid>254089</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-02 14:24:34 -0700</bug_when>
    <thetext>Comment on attachment 254089
The Patch

Clearing flags on attachment: 254089

Committed r185122: &lt;http://trac.webkit.org/changeset/185122&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098899</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-02 14:24:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254089</attachid>
            <date>2015-06-02 13:23:00 -0700</date>
            <delta_ts>2015-06-02 14:24:34 -0700</delta_ts>
            <desc>The Patch</desc>
            <filename>bug-145563.patch</filename>
            <type>text/plain</type>
            <size>3085</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg1MTE2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDE1LTA2LTAyICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIEphdmFTY3JpcHRDb3JlOiBKU0V4cG9ydCBwcm90b2NvbCB3aXRoIGFuIE5TSW50ZWdl
ciBwcm9wZXJ0eSBjb252ZXJ0cyBuZWdhdGl2ZSB2YWx1ZXMgdG8gMTg0NDY3NDQwNzM3MDk1NTIw
MDAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTU2
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBP
YmplY3RpdmUtQyBiaW5kaW5ncyB3ZXJlIGltcHJvcGVybHkgY29udmVydGluZyBuZWdhdGl2ZQor
ICAgICAgICBsb25nIGxvbmcvTlNJbnRlZ2VycyB0byAxODQ0Njc0NDA3MzcwOTU1MjAwMCBiZWNh
dXNlIHRoZXkKKyAgICAgICAgd2VyZSBjb252ZXJ0ZWQgdG8gdW5zaWduZWQgbnVtYmVycy4KKwor
ICAgICAgICAqIEFQSS9PYmpjUnVudGltZUV4dHJhcy5oOgorICAgICAgICAocGFyc2VPYmpDVHlw
ZSk6CisgICAgICAgICogQVBJL3Rlc3RzL3Rlc3RhcGkubW06CisgICAgICAgICh0ZXN0T2JqZWN0
aXZlQ0FQSU1haW4pOgorICAgICAgICAoY2hlY2tOZWdhdGl2ZU5TSW50ZWdlcnMpOgorICAgICAg
ICAodGVzdE9iamVjdGl2ZUNBUEkpOgorCiAyMDE1LTA2LTAyICBZdXN1a2UgU3V6dWtpICA8dXRh
dGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIEhlYXAtdXNlLWFmdGVyLWZyZWUgcmVhZCBv
ZiBzaXplIDQgaW4gSmF2YVNjcmlwdENvcmU6IFdURjo6U3RyaW5nSW1wbDo6aXNTeW1ib2woKSAo
U3RyaW5nSW1wbC5oOjQ5NikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqY1J1
bnRpbWVFeHRyYXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL09i
amNSdW50aW1lRXh0cmFzLmgJKHJldmlzaW9uIDE4NDkwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvT2JqY1J1bnRpbWVFeHRyYXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTY0LDcgKzE2
NCw3IEBAIHR5cGVuYW1lIERlbGVnYXRlVHlwZTo6UmVzdWx0VHlwZSBwYXJzZU8KICAgICBjYXNl
ICdsJzoKICAgICAgICAgcmV0dXJuIERlbGVnYXRlVHlwZTo6dGVtcGxhdGUgdHlwZUludGVnZXI8
bG9uZz4oKTsKICAgICBjYXNlICdxJzoKLSAgICAgICAgcmV0dXJuIERlbGVnYXRlVHlwZTo6dGVt
cGxhdGUgdHlwZURvdWJsZTx1bnNpZ25lZCBsb25nIGxvbmc+KCk7CisgICAgICAgIHJldHVybiBE
ZWxlZ2F0ZVR5cGU6OnRlbXBsYXRlIHR5cGVEb3VibGU8bG9uZyBsb25nPigpOwogICAgIGNhc2Ug
J0MnOgogICAgICAgICByZXR1cm4gRGVsZWdhdGVUeXBlOjp0ZW1wbGF0ZSB0eXBlSW50ZWdlcjx1
bnNpZ25lZCBjaGFyPigpOwogICAgIGNhc2UgJ0knOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQkocmV2aXNpb24gMTg0OTA5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNDE2
LDkgKzE0MTYsNDEgQEAgc3RhdGljIHZvaWQgdGVzdE9iamVjdGl2ZUNBUElNYWluKCkKICAgICBy
dW5SZWdyZXNzMTQxODA5KCk7CiB9CiAKK0Bwcm90b2NvbCBOdW1iZXJQcm90b2NvbCA8SlNFeHBv
cnQ+CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBOU0ludGVnZXIgbnVtYmVyOworCitAZW5kCisK
K0BpbnRlcmZhY2UgTnVtYmVyT2JqZWN0IDogTlNPYmplY3QgPE51bWJlclByb3RvY29sPgorCitA
cHJvcGVydHkgKG5vbmF0b21pYykgTlNJbnRlZ2VyIG51bWJlcjsKKworQGVuZAorCitAaW1wbGVt
ZW50YXRpb24gTnVtYmVyT2JqZWN0CisKK0BlbmQKKworLy8gQ2hlY2sgdGhhdCBuZWdhdGl2ZSBO
U0ludGVnZXJzIHJldGFpbiB0aGUgY29ycmVjdCB2YWx1ZSB3aGVuIHBhc3NlZCBpbnRvIEpTIGNv
ZGUuCitzdGF0aWMgdm9pZCBjaGVja05lZ2F0aXZlTlNJbnRlZ2VycygpCit7CisgICAgTnVtYmVy
T2JqZWN0ICpjb250YWluZXIgPSBbW051bWJlck9iamVjdCBhbGxvY10gaW5pdF07CisgICAgY29u
dGFpbmVyLm51bWJlciA9IC0xOworICAgIEpTQ29udGV4dCAqY29udGV4dCA9IFtbSlNDb250ZXh0
IGFsbG9jXSBpbml0XTsKKyAgICBjb250ZXh0W0AiY29udGFpbmVyIl0gPSBjb250YWluZXI7Cisg
ICAgTlNTdHJpbmcgKmpzSUQgPSBAInZhciBnZXRDb250YWluZXJOdW1iZXIgPSBmdW5jdGlvbigp
IHsgcmV0dXJuIGNvbnRhaW5lci5udW1iZXIgfSI7CisgICAgW2NvbnRleHQgZXZhbHVhdGVTY3Jp
cHQ6anNJRF07CisgICAgSlNWYWx1ZSAqanNGdW5jdGlvbiA9IGNvbnRleHRbQCJnZXRDb250YWlu
ZXJOdW1iZXIiXTsKKyAgICBKU1ZhbHVlICpyZXN1bHQgPSBbanNGdW5jdGlvbiBjYWxsV2l0aEFy
Z3VtZW50czpAW11dOworICAgIAorICAgIGNoZWNrUmVzdWx0KEAiTmVnYXRpdmUgbnVtYmVyIG1h
aW50YWluZWQgaXRzIG9yaWdpbmFsIHZhbHVlIiwgW1tyZXN1bHQgdG9TdHJpbmddIGlzRXF1YWxU
b1N0cmluZzpAIi0xIl0pOworfQorCiB2b2lkIHRlc3RPYmplY3RpdmVDQVBJKCkKIHsKICAgICBO
U0xvZyhAIlRlc3RpbmcgT2JqZWN0aXZlLUMgQVBJIik7CisgICAgY2hlY2tOZWdhdGl2ZU5TSW50
ZWdlcnMoKTsKICAgICB0ZXN0V2Vha1ZhbHVlKCk7CiAgICAgdGVzdE9iamVjdGl2ZUNBUElNYWlu
KCk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>