<?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>106678</bug_id>
          
          <creation_ts>2013-01-11 10:34:04 -0800</creation_ts>
          <short_desc>IndexedDB: IDBTransaction should manage lifetime of IDBRequests</short_desc>
          <delta_ts>2013-01-11 16:18:16 -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>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="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>alecflett</cc>
    
    <cc>dgrogan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>805382</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-11 10:34:04 -0800</bug_when>
    <thetext>IndexedDB: IDBTransaction should manage lifetime of IDBRequests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805399</commentid>
    <comment_count>1</comment_count>
      <attachid>182368</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-11 10:42:24 -0800</bug_when>
    <thetext>Created attachment 182368
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805405</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-11 10:45:20 -0800</bug_when>
    <thetext>Speculative fix for possible source of crashes. 

In IDBObjectStore.cpp it is assumed that the request is kept alive by the owning transaction, but transactions didn&apos;t actually do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805458</commentid>
    <comment_count>3</comment_count>
      <attachid>182368</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2013-01-11 11:31:40 -0800</bug_when>
    <thetext>Comment on attachment 182368
Patch

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

&gt; Source/WebCore/Modules/indexeddb/IDBRequest.cpp:82
&gt; +    relaxAdoptionRequirement();

Is this because of the iterator, or removal from the m_requestList? Is there any way to call some of the helper methods like removeFirst or remove(iterator it) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805462</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-11 11:34:02 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 182368 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=182368&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/indexeddb/IDBRequest.cpp:82
&gt; &gt; +    relaxAdoptionRequirement();
&gt; 
&gt; Is this because of the iterator, or removal from the m_requestList? Is there any way to call some of the helper methods like removeFirst or remove(iterator it) ?

It on insertion into m_requestList c/o IDBTransaction::registerRequest(), which creates the first RefPtr&lt;&gt; to the request before the IDBRequest&apos;s constructor has completed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805477</commentid>
    <comment_count>5</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2013-01-11 11:45:40 -0800</bug_when>
    <thetext>ah, I see it. LGTM (seems like the proper ownership anyway)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805519</commentid>
    <comment_count>6</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-11 12:22:44 -0800</bug_when>
    <thetext>tony@ - can you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805601</commentid>
    <comment_count>7</comment_count>
      <attachid>182368</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-11 14:08:57 -0800</bug_when>
    <thetext>Comment on attachment 182368
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/indexeddb/IDBRequest.cpp:82
&gt;&gt;&gt; +    relaxAdoptionRequirement();
&gt;&gt; 
&gt;&gt; Is this because of the iterator, or removal from the m_requestList? Is there any way to call some of the helper methods like removeFirst or remove(iterator it) ?
&gt; 
&gt; It on insertion into m_requestList c/o IDBTransaction::registerRequest(), which creates the first RefPtr&lt;&gt; to the request before the IDBRequest&apos;s constructor has completed.

Rather than using relaxAdoptionRequirement, could we move the call to transaction-&gt;registerRequest() into the IDBRequest::create methods?

I think in the long term, we want to remove relaxAdoptionRequirement() from RefCounted.h and it looks like IDB is the only place that uses relaxAdoptionRequirement().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805648</commentid>
    <comment_count>8</comment_count>
      <attachid>182423</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-11 14:58:53 -0800</bug_when>
    <thetext>Created attachment 182423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805654</commentid>
    <comment_count>9</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-11 15:01:52 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Rather than using relaxAdoptionRequirement, could we move the call to transaction-&gt;registerRequest() into the IDBRequest::create methods?

Good suggestion - patch updated. (as you noticed...)
 
&gt; I think in the long term, we want to remove relaxAdoptionRequirement() from RefCounted.h and it looks like IDB is the only place that uses relaxAdoptionRequirement().

Once alecflett@&apos;s current refactor is done we can tackle removing the other uses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805731</commentid>
    <comment_count>10</comment_count>
      <attachid>182423</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-11 16:18:12 -0800</bug_when>
    <thetext>Comment on attachment 182423
Patch

Clearing flags on attachment: 182423

Committed r139518: &lt;http://trac.webkit.org/changeset/139518&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805732</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-11 16:18:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182368</attachid>
            <date>2013-01-11 10:42:24 -0800</date>
            <delta_ts>2013-01-11 14:58:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106678-20130111103926.patch</filename>
            <type>text/plain</type>
            <size>3955</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5Mzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzNhNjY5ZWY0NGYxNDcw
ZTNmZGZhNjU0MjY5NzYzMzBhMDdkMzM3Ni4uZDQ2MWY4ZThjMDg2ZmE1NzMyZWNlMmNhOGE0MzQx
OWJkYWFjMTU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTAxLTExICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBJREJU
cmFuc2FjdGlvbiBzaG91bGQgbWFuYWdlIGxpZmV0aW1lIG9mIElEQlJlcXVlc3RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY2NzgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgcmVmZXJlbmNl
IGNvdW50IG9mIElEQlJlcXVlc3RzIGRvbid0IGJvdW5jZSBvZmYgemVybyBpZiB0aGVyZSBhcmUg
bm8gc2NyaXB0CisgICAgICAgIHJlZmVyZW5jZXMgYXJlIHdoaWxlIHRoZSBldmVudHMgYXJlIGFy
cml2aW5nLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAtIG5vIGRldGVjdGFibGUgYmVoYXZpb3Ig
Y2hhbmdlcy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6SURCUmVxdWVzdCk6IE5lZWQgdG8gcmVsYXgg
YWRvcHRpb24gcmVxdWlyZW1lbnQgYXMgdGhpcyBpcyByZWdpc3RlcmVkIHdpdGggdHguCisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOiBLZWVwIFJlZlB0cjw+
cyB0byBvdXRzdGFuZGluZyByZXF1ZXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0
aW9uOjp+SURCVHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246
OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpvbkFib3J0KToKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oOgorCiAyMDEzLTAxLTEw
ICBEYW4gQmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgQXV0
b2NvbXBsZXRlRXJyb3JFdmVudCNyZWFzb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCUmVxdWVzdC5jcHAKaW5kZXggMWNjNDRjZjgxOTY3YWE3ZGYxOTU0ZWQ0NGQ3
ODY4Zjg1YmZjZDVjMi4uYzM0YTcxZjUxZjA3Y2JlNmU1YmFjZWIzMjMzYWVkMjk2NmVmYjc0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAK
QEAgLTc4LDYgKzc4LDggQEAgSURCUmVxdWVzdDo6SURCUmVxdWVzdChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQkFueT4gc291cmMKICAgICAsIG1fcHJldmVu
dFByb3BhZ2F0aW9uKGZhbHNlKQogICAgICwgbV9yZXF1ZXN0U3RhdGUoY29udGV4dCkKIHsKKyAg
ICAvLyBXZSBwYXNzIGEgcmVmZXJlbmNlIG9mIHRoaXMgb2JqZWN0IGJlZm9yZSBpdCBjYW4gYmUg
YWRvcHRlZC4KKyAgICByZWxheEFkb3B0aW9uUmVxdWlyZW1lbnQoKTsKICAgICAvLyBSZXF1ZXN0
cyBhc3NvY2lhdGVkIHdpdGggSURCRmFjdG9yeSAob3Blbi9kZWxldGVEYXRhYmFzZS9nZXREYXRh
YmFzZU5hbWVzKSBhcmUgbm90CiAgICAgLy8gYXNzb2NpYXRlZCB3aXRoIHRyYW5zYWN0aW9ucy4K
ICAgICBpZiAobV90cmFuc2FjdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAppbmRleCAyNmVmZDBmYjNiMTE5NmZkMTc4MmUx
ZWQ3MmU0MzVmNGM3ODgwOTlhLi41NjQ2ZGVjOGI5ODJjY2MwZmMwYzQ1Y2RmNDBlMTZiYjI0M2Vh
ZDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uY3BwCkBAIC0xMjAsNiArMTIwLDcgQEAgSURCVHJhbnNhY3Rpb246OklEQlRyYW5z
YWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGludDY0X3QgaWQsIFBhc3MK
IElEQlRyYW5zYWN0aW9uOjp+SURCVHJhbnNhY3Rpb24oKQogewogICAgIEFTU0VSVChtX3N0YXRl
ID09IEZpbmlzaGVkKTsKKyAgICBBU1NFUlQobV9yZXF1ZXN0TGlzdC5pc0VtcHR5KCkpOwogfQog
CiBjb25zdCBTdHJpbmcmIElEQlRyYW5zYWN0aW9uOjptb2RlKCkgY29uc3QKQEAgLTIyMyw3ICsy
MjQsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjphYm9ydChFeGNlcHRpb25Db2RlJiBlYykKICAg
ICBtX3N0YXRlID0gRmluaXNoaW5nOwogCiAgICAgd2hpbGUgKCFtX3JlcXVlc3RMaXN0LmlzRW1w
dHkoKSkgewotICAgICAgICBJREJSZXF1ZXN0KiByZXF1ZXN0ID0gKm1fcmVxdWVzdExpc3QuYmVn
aW4oKTsKKyAgICAgICAgUmVmUHRyPElEQlJlcXVlc3Q+IHJlcXVlc3QgPSAqbV9yZXF1ZXN0TGlz
dC5iZWdpbigpOwogICAgICAgICBtX3JlcXVlc3RMaXN0LnJlbW92ZShyZXF1ZXN0KTsKICAgICAg
ICAgcmVxdWVzdC0+YWJvcnQoKTsKICAgICB9CkBAIC0zMDAsNyArMzAxLDcgQEAgdm9pZCBJREJU
cmFuc2FjdGlvbjo6b25BYm9ydChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+IHBycEVycm9y
KQogICAgICAgICAvLyBBYm9ydCB3YXMgbm90IHRyaWdnZXJlZCBieSBmcm9udC1lbmQsIHNvIG91
dHN0YW5kaW5nIHJlcXVlc3RzIG11c3QKICAgICAgICAgLy8gYmUgYWJvcnRlZCBub3cuCiAgICAg
ICAgIHdoaWxlICghbV9yZXF1ZXN0TGlzdC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIElEQlJl
cXVlc3QqIHJlcXVlc3QgPSAqbV9yZXF1ZXN0TGlzdC5iZWdpbigpOworICAgICAgICAgICAgUmVm
UHRyPElEQlJlcXVlc3Q+IHJlcXVlc3QgPSAqbV9yZXF1ZXN0TGlzdC5iZWdpbigpOwogICAgICAg
ICAgICAgbV9yZXF1ZXN0TGlzdC5yZW1vdmUocmVxdWVzdCk7CiAgICAgICAgICAgICByZXF1ZXN0
LT5hYm9ydCgpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCVHJhbnNhY3Rpb24uaAppbmRleCBkZjNiYjBjY2NhNTk2NGQ0Njg4Nzk0ZjFmYjYy
Yjg2ZTAyMDcwNjY2Li5hYmFkNjM3ZmFkZTUxMjk3ZTQ0MWQ1MGU0ZjFkOTY4ZTZiNjI0NDU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmgKQEAgLTE2Miw3ICsxNjIsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxET01FcnJvcj4gbV9l
cnJvcjsKICAgICBTdHJpbmcgbV9lcnJvck1lc3NhZ2U7CiAKLSAgICBMaXN0SGFzaFNldDxJREJS
ZXF1ZXN0Kj4gbV9yZXF1ZXN0TGlzdDsKKyAgICBMaXN0SGFzaFNldDxSZWZQdHI8SURCUmVxdWVz
dD4gPiBtX3JlcXVlc3RMaXN0OwogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgUmVmUHRy
PElEQk9iamVjdFN0b3JlPiA+IElEQk9iamVjdFN0b3JlTWFwOwogICAgIElEQk9iamVjdFN0b3Jl
TWFwIG1fb2JqZWN0U3RvcmVNYXA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182423</attachid>
            <date>2013-01-11 14:58:53 -0800</date>
            <delta_ts>2013-01-11 16:18:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106678-20130111145555.patch</filename>
            <type>text/plain</type>
            <size>4989</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5Mzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzNhNjY5ZWY0NGYxNDcw
ZTNmZGZhNjU0MjY5NzYzMzBhMDdkMzM3Ni4uZjA0ZTE1ODY0NTI3NzdlYzc2NWFkOGM4NDcyMGE4
ZmJkMWVmMmQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAxLTExICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBJREJU
cmFuc2FjdGlvbiBzaG91bGQgbWFuYWdlIGxpZmV0aW1lIG9mIElEQlJlcXVlc3RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY2NzgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgcmVmZXJlbmNl
IGNvdW50IG9mIElEQlJlcXVlc3RzIGRvbid0IGJvdW5jZSBvZmYgemVybyBpZiB0aGVyZSBhcmUg
bm8gc2NyaXB0CisgICAgICAgIHJlZmVyZW5jZXMgYXJlIHdoaWxlIHRoZSBldmVudHMgYXJlIGFy
cml2aW5nLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAtIG5vIGRldGVjdGFibGUgYmVoYXZpb3Ig
Y2hhbmdlcy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6Y3JlYXRlKTogUmVnaXN0ZXIgd2l0aCB0cmFu
c2FjdGlvbiAod2hpY2ggbm93IHRha2VzIGEgcmVmKSBoZXJlIHRvLi4uCisgICAgICAgIChXZWJD
b3JlOjpJREJSZXF1ZXN0OjpJREJSZXF1ZXN0KTogLi4uYXZvaWQgaGF2aW5nIHRvIHJlbGF4IGFk
b3B0aW9uIHJlcXVpcmVtZW50cyBoZXJlLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lE
QlRyYW5zYWN0aW9uLmNwcDogS2VlcCBSZWZQdHI8PnMgdG8gb3V0c3RhbmRpbmcgcmVxdWVzdHMu
CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6fklEQlRyYW5zYWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjphYm9ydCk6CisgICAgICAgIChXZWJDb3Jl
OjpJREJUcmFuc2FjdGlvbjo6b25BYm9ydCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uaDoKKwogMjAxMy0wMS0xMCAgRGFuIEJlYW0gIDxkYmVhbUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQjcmVhc29u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCmlu
ZGV4IDFjYzQ0Y2Y4MTk2N2FhN2RmMTk1NGVkNDRkNzg2OGY4NWJmY2Q1YzIuLjUwYTk5NTg4ZjZi
ZTE4OWNiOWY1NWQyM2UwOTIyNmJhY2IwNGU2ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCkBAIC00OSw2ICs0OSw5IEBAIFBhc3NSZWZQ
dHI8SURCUmVxdWVzdD4gSURCUmVxdWVzdDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFBhc3NSCiB7CiAgICAgUmVmUHRyPElEQlJlcXVlc3Q+IHJlcXVlc3QoYWRvcHRS
ZWYobmV3IElEQlJlcXVlc3QoY29udGV4dCwgc291cmNlLCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2U6Ok5vcm1hbFRhc2ssIHRyYW5zYWN0aW9uKSkpOwogICAgIHJlcXVlc3QtPnN1c3Bl
bmRJZk5lZWRlZCgpOworICAgIC8vIFJlcXVlc3RzIGFzc29jaWF0ZWQgd2l0aCBJREJGYWN0b3J5
IChvcGVuL2RlbGV0ZURhdGFiYXNlL2dldERhdGFiYXNlTmFtZXMpIGFyZSBub3QgYXNzb2NpYXRl
ZCB3aXRoIHRyYW5zYWN0aW9ucy4KKyAgICBpZiAodHJhbnNhY3Rpb24pCisgICAgICAgIHRyYW5z
YWN0aW9uLT5yZWdpc3RlclJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiAgICAgcmV0dXJuIHJlcXVl
c3QucmVsZWFzZSgpOwogfQogCkBAIC01Niw2ICs1OSw5IEBAIFBhc3NSZWZQdHI8SURCUmVxdWVz
dD4gSURCUmVxdWVzdDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBh
c3NSCiB7CiAgICAgUmVmUHRyPElEQlJlcXVlc3Q+IHJlcXVlc3QoYWRvcHRSZWYobmV3IElEQlJl
cXVlc3QoY29udGV4dCwgc291cmNlLCB0YXNrVHlwZSwgdHJhbnNhY3Rpb24pKSk7CiAgICAgcmVx
dWVzdC0+c3VzcGVuZElmTmVlZGVkKCk7CisgICAgLy8gUmVxdWVzdHMgYXNzb2NpYXRlZCB3aXRo
IElEQkZhY3RvcnkgKG9wZW4vZGVsZXRlRGF0YWJhc2UvZ2V0RGF0YWJhc2VOYW1lcykgYXJlIG5v
dCBhc3NvY2lhdGVkIHdpdGggdHJhbnNhY3Rpb25zLgorICAgIGlmICh0cmFuc2FjdGlvbikKKyAg
ICAgICAgdHJhbnNhY3Rpb24tPnJlZ2lzdGVyUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKICAgICBy
ZXR1cm4gcmVxdWVzdC5yZWxlYXNlKCk7CiB9CiAKQEAgLTc4LDEwICs4NCw2IEBAIElEQlJlcXVl
c3Q6OklEQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0
cjxJREJBbnk+IHNvdXJjCiAgICAgLCBtX3ByZXZlbnRQcm9wYWdhdGlvbihmYWxzZSkKICAgICAs
IG1fcmVxdWVzdFN0YXRlKGNvbnRleHQpCiB7Ci0gICAgLy8gUmVxdWVzdHMgYXNzb2NpYXRlZCB3
aXRoIElEQkZhY3RvcnkgKG9wZW4vZGVsZXRlRGF0YWJhc2UvZ2V0RGF0YWJhc2VOYW1lcykgYXJl
IG5vdAotICAgIC8vIGFzc29jaWF0ZWQgd2l0aCB0cmFuc2FjdGlvbnMuCi0gICAgaWYgKG1fdHJh
bnNhY3Rpb24pCi0gICAgICAgIG1fdHJhbnNhY3Rpb24tPnJlZ2lzdGVyUmVxdWVzdCh0aGlzKTsK
IH0KIAogSURCUmVxdWVzdDo6fklEQlJlcXVlc3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IDI2ZWZkMGZiM2IxMTk2
ZmQxNzgyZTFlZDcyZTQzNWY0Yzc4ODA5OWEuLjU2NDZkZWM4Yjk4MmNjYzBmYzBjNDVjZGY0MGUx
NmJiMjQzZWFkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5jcHAKQEAgLTEyMCw2ICsxMjAsNyBAQCBJREJUcmFuc2FjdGlvbjo6
SURCVHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgaW50NjRfdCBp
ZCwgUGFzcwogSURCVHJhbnNhY3Rpb246On5JREJUcmFuc2FjdGlvbigpCiB7CiAgICAgQVNTRVJU
KG1fc3RhdGUgPT0gRmluaXNoZWQpOworICAgIEFTU0VSVChtX3JlcXVlc3RMaXN0LmlzRW1wdHko
KSk7CiB9CiAKIGNvbnN0IFN0cmluZyYgSURCVHJhbnNhY3Rpb246Om1vZGUoKSBjb25zdApAQCAt
MjIzLDcgKzIyNCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmFib3J0KEV4Y2VwdGlvbkNvZGUm
IGVjKQogICAgIG1fc3RhdGUgPSBGaW5pc2hpbmc7CiAKICAgICB3aGlsZSAoIW1fcmVxdWVzdExp
c3QuaXNFbXB0eSgpKSB7Ci0gICAgICAgIElEQlJlcXVlc3QqIHJlcXVlc3QgPSAqbV9yZXF1ZXN0
TGlzdC5iZWdpbigpOworICAgICAgICBSZWZQdHI8SURCUmVxdWVzdD4gcmVxdWVzdCA9ICptX3Jl
cXVlc3RMaXN0LmJlZ2luKCk7CiAgICAgICAgIG1fcmVxdWVzdExpc3QucmVtb3ZlKHJlcXVlc3Qp
OwogICAgICAgICByZXF1ZXN0LT5hYm9ydCgpOwogICAgIH0KQEAgLTMwMCw3ICszMDEsNyBAQCB2
b2lkIElEQlRyYW5zYWN0aW9uOjpvbkFib3J0KFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4g
cHJwRXJyb3IpCiAgICAgICAgIC8vIEFib3J0IHdhcyBub3QgdHJpZ2dlcmVkIGJ5IGZyb250LWVu
ZCwgc28gb3V0c3RhbmRpbmcgcmVxdWVzdHMgbXVzdAogICAgICAgICAvLyBiZSBhYm9ydGVkIG5v
dy4KICAgICAgICAgd2hpbGUgKCFtX3JlcXVlc3RMaXN0LmlzRW1wdHkoKSkgewotICAgICAgICAg
ICAgSURCUmVxdWVzdCogcmVxdWVzdCA9ICptX3JlcXVlc3RMaXN0LmJlZ2luKCk7CisgICAgICAg
ICAgICBSZWZQdHI8SURCUmVxdWVzdD4gcmVxdWVzdCA9ICptX3JlcXVlc3RMaXN0LmJlZ2luKCk7
CiAgICAgICAgICAgICBtX3JlcXVlc3RMaXN0LnJlbW92ZShyZXF1ZXN0KTsKICAgICAgICAgICAg
IHJlcXVlc3QtPmFib3J0KCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCmluZGV4IGRmM2JiMGNjY2E1OTY0ZDQ2ODg3
OTRmMWZiNjJiODZlMDIwNzA2NjYuLmFiYWQ2MzdmYWRlNTEyOTdlNDQxZDUwZTRmMWQ5NjhlNmI2
MjQ0NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uaApAQCAtMTYyLDcgKzE2Miw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPERPTUVy
cm9yPiBtX2Vycm9yOwogICAgIFN0cmluZyBtX2Vycm9yTWVzc2FnZTsKIAotICAgIExpc3RIYXNo
U2V0PElEQlJlcXVlc3QqPiBtX3JlcXVlc3RMaXN0OworICAgIExpc3RIYXNoU2V0PFJlZlB0cjxJ
REJSZXF1ZXN0PiA+IG1fcmVxdWVzdExpc3Q7CiAKICAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5n
LCBSZWZQdHI8SURCT2JqZWN0U3RvcmU+ID4gSURCT2JqZWN0U3RvcmVNYXA7CiAgICAgSURCT2Jq
ZWN0U3RvcmVNYXAgbV9vYmplY3RTdG9yZU1hcDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>