<?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>238070</bug_id>
          
          <creation_ts>2022-03-18 04:51:46 -0700</creation_ts>
          <short_desc>[GLIB] Make it possible to call GRefPtr::outPtr() multiple times wihtout an explicit clear</short_desc>
          <delta_ts>2022-03-18 07:20:53 -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>Web Template Framework</component>
          <version>WebKit 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=236540</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>annulen</cc>
    
    <cc>aperez</cc>
    
    <cc>benjamin</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>pnormand</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1852675</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-03-18 04:51:46 -0700</bug_when>
    <thetext>Clear the GRefPtr before returning the value in outPtr(), similar to what GUniqueOutPtr does, since it&apos;s easy to forget to explicitly call clear from the callers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852676</commentid>
    <comment_count>1</comment_count>
      <attachid>455086</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-03-18 04:55:19 -0700</bug_when>
    <thetext>Created attachment 455086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852691</commentid>
    <comment_count>2</comment_count>
      <attachid>455086</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2022-03-18 05:55:26 -0700</bug_when>
    <thetext>Comment on attachment 455086
Patch

LGTM, it may make sense to fix the style checker issue while at it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852692</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-03-18 05:58:36 -0700</bug_when>
    <thetext>Style failure doesn&apos;t matter here, because the file is not the implementation of any class, so there&apos;s no header tom include. I think there was a way to workaround it, but I&apos;m not sure it&apos;s worth it for a unit test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852694</commentid>
    <comment_count>4</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2022-03-18 06:17:46 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #3)
&gt; Style failure doesn&apos;t matter here, because the file is not the
&gt; implementation of any class, so there&apos;s no header tom include. I think there
&gt; was a way to workaround it, but I&apos;m not sure it&apos;s worth it for a unit test

Maybe let&apos;s just not mind it, then :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852702</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-03-18 07:19:56 -0700</bug_when>
    <thetext>Committed r291482 (248596@trunk): &lt;https://commits.webkit.org/248596@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852703</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-18 07:20:53 -0700</bug_when>
    <thetext>&lt;rdar://problem/90484376&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455086</attachid>
            <date>2022-03-18 04:55:19 -0700</date>
            <delta_ts>2022-03-18 07:20:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wtf-clear-outptr.diff</filename>
            <type>text/plain</type>
            <size>11367</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggYTQ0OThmNzIxMTZlLi45ZGZjNmYzMmM3ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MjItMDMtMTggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHTElCXSBNYWtlIGl0IHBvc3NpYmxlIHRvIGNhbGwgR1JlZlB0cjo6b3V0UHRyKCkg
bXVsdGlwbGUgdGltZXMgd2lodG91dCBhbiBleHBsaWNpdCBjbGVhcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MDcwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2xlYXIgdGhlIEdSZWZQdHIgYmVmb3Jl
IHJldHVybmluZyB0aGUgdmFsdWUgaW4gb3V0UHRyKCksIHNpbWlsYXIgdG8gd2hhdCBHVW5pcXVl
T3V0UHRyIGRvZXMsIHNpbmNlIGl0J3MgZWFzeSB0bworICAgICAgICBmb3JnZXQgdG8gZXhwbGlj
aXRseSBjYWxsIGNsZWFyIGZyb20gdGhlIGNhbGxlcnMuCisKKyAgICAgICAgKiB3dGYvZ2xpYi9H
UmVmUHRyLmg6CisgICAgICAgIChXVEY6OkdSZWZQdHI6Om91dFB0cik6CisKIDIwMjItMDMtMTgg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEFk
ZCBhIHB1YmxpYyBidWlsZCBvcHRpb24gZm9yIFBERi5qcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvZ2xpYi9HUmVmUHRyLmggYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dSZWZQdHIuaAppbmRl
eCBlNzIxZmQ1NWY0MmEuLjEzZWY1MDgxMzkzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
Z2xpYi9HUmVmUHRyLmgKKysrIGIvU291cmNlL1dURi93dGYvZ2xpYi9HUmVmUHRyLmgKQEAgLTk5
LDcgKzk5LDcgQEAgcHVibGljOgogCiAgICAgVComIG91dFB0cigpCiAgICAgewotICAgICAgICBB
U1NFUlQoIW1fcHRyKTsKKyAgICAgICAgY2xlYXIoKTsKICAgICAgICAgcmV0dXJuIG1fcHRyOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGIyYjIyZWJlMDBkYy4uMzU2NWNiM2Y0MmU0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjItMDMtMTggIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHTElC
XSBNYWtlIGl0IHBvc3NpYmxlIHRvIGNhbGwgR1JlZlB0cjo6b3V0UHRyKCkgbXVsdGlwbGUgdGlt
ZXMgd2lodG91dCBhbiBleHBsaWNpdCBjbGVhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MDcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdW5pdCB0ZXN0cyBmb3IgR1JlZlB0ci4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9QbGF0Zm9ybVdQRS5jbWFrZToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9nbGliL0dSZWZQdHIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkdX
ZWFrUHRyOjpHV2Vha1B0cik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpHV2Vha1B0cjo6fkdX
ZWFrUHRyKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkdXZWFrUHRyOjpzZXQpOgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjItMDMtMTggIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtBVFNQSV0gYWNjZXNzaWJpbGl0
eS9kcm9wZG93bi12YWx1ZS5odG1sIGlzIHRpbWluZyBvdXQgc2luY2UgYWRkZWQgaW4gMjQ4MTQ1
QG1haW4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2Ug
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGNmZmUzMjA2ZWM1
MS4uYWUwZDQzZjk4YWNjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3Jt
R1RLLmNtYWtlCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UKQEAg
LTE0LDYgKzE0LDcgQEAgc2V0KHRlc3RfbWFpbl9TT1VSQ0VTIGd0ay9tYWluLmNwcCkKIGxpc3Qo
QVBQRU5EIFRlc3RXVEZfU09VUkNFUwogICAgICR7dGVzdF9tYWluX1NPVVJDRVN9CiAKKyAgICBU
ZXN0cy9XVEYvZ2xpYi9HUmVmUHRyLmNwcAogICAgIFRlc3RzL1dURi9nbGliL0dVbmlxdWVQdHIu
Y3BwCiAgICAgVGVzdHMvV1RGL2dsaWIvV29ya1F1ZXVlR0xpYi5jcHAKIApkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdQRS5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggNzg0NTZkNDM2NmU0Li5hNmZiNzA5OTg1MDQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdQRS5jbWFrZQpAQCAtMTQsNiArMTQsNyBAQCBzZXQo
dGVzdF9tYWluX1NPVVJDRVMgZ2VuZXJpYy9tYWluLmNwcCkKIGxpc3QoQVBQRU5EIFRlc3RXVEZf
U09VUkNFUwogICAgICR7dGVzdF9tYWluX1NPVVJDRVN9CiAKKyAgICBUZXN0cy9XVEYvZ2xpYi9H
UmVmUHRyLmNwcAogICAgIFRlc3RzL1dURi9nbGliL0dVbmlxdWVQdHIuY3BwCiAgICAgVGVzdHMv
V1RGL2dsaWIvV29ya1F1ZXVlR0xpYi5jcHAKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvZ2xpYi9HUmVmUHRyLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL2dsaWIvR1JlZlB0ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwLi5iNzY5OGJiZWQ3NDIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9nbGliL0dSZWZQdHIuY3BwCkBAIC0wLDAgKzEsMjcxIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIyIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKworI2luY2x1ZGUgIlRlc3QuaCIKKyNpbmNsdWRlIDxnbGliLW9iamVjdC5oPgorI2lu
Y2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewor
CitjbGFzcyBHV2Vha1B0ciB7CitwdWJsaWM6CisgICAgR1dlYWtQdHIoKSA9IGRlZmF1bHQ7CisK
KyAgICBleHBsaWNpdCBHV2Vha1B0cihncG9pbnRlciogb2JqKQorICAgICAgICA6IG1fcHRyKG9i
aikKKyAgICB7CisgICAgICAgIGdfb2JqZWN0X2FkZF93ZWFrX3BvaW50ZXIoR19PQkpFQ1QoKm1f
cHRyKSwgbV9wdHIpOworICAgIH0KKworICAgIH5HV2Vha1B0cigpCisgICAgeworICAgICAgICBp
ZiAoKm1fcHRyKQorICAgICAgICAgICAgZ19vYmplY3RfcmVtb3ZlX3dlYWtfcG9pbnRlcihHX09C
SkVDVCgqbV9wdHIpLCBtX3B0cik7CisgICAgfQorCisgICAgdm9pZCBzZXQoZ3BvaW50ZXIqIG9i
aikKKyAgICB7CisgICAgICAgIG1fcHRyID0gb2JqOworICAgICAgICBnX29iamVjdF9hZGRfd2Vh
a19wb2ludGVyKEdfT0JKRUNUKCptX3B0ciksIG1fcHRyKTsKKyAgICB9CisKK3ByaXZhdGU6Cisg
ICAgZ3BvaW50ZXIqIG1fcHRyIHsgbnVsbHB0ciB9OworfTsKKworVEVTVChXVEZfR1JlZlB0ciwg
QmFzaWMpCit7CisgICAgR1JlZlB0cjxHT2JqZWN0PiBlbXB0eTsKKyAgICBFWFBFQ1RfTlVMTChl
bXB0eS5nZXQoKSk7CisKKyAgICBHT2JqZWN0KiBvYmogPSBudWxscHRyOworICAgIHsKKyAgICAg
ICAgb2JqID0gR19PQkpFQ1QoZ19vYmplY3RfbmV3KEdfVFlQRV9PQkpFQ1QsIG51bGxwdHIpKTsK
KyAgICAgICAgR1dlYWtQdHIgd2VhayhyZWludGVycHJldF9jYXN0PGdwb2ludGVyKj4oJm9iaikp
OworICAgICAgICBHUmVmUHRyPEdPYmplY3Q+IG8ob2JqKTsKKyAgICAgICAgRVhQRUNUX0VRKG9i
aiwgby5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9FUShvYmotPnJlZl9jb3VudCwgMik7CisgICAg
ICAgIGdfb2JqZWN0X3VucmVmKG9iaik7CisgICAgICAgIEVYUEVDVF9FUShvYmosIG8uZ2V0KCkp
OworICAgIH0KKyAgICBFWFBFQ1RfTlVMTChvYmopOworCisgICAgeworICAgICAgICBvYmogPSBH
X09CSkVDVChnX29iamVjdF9uZXcoR19UWVBFX09CSkVDVCwgbnVsbHB0cikpOworICAgICAgICBH
V2Vha1B0ciB3ZWFrKHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXIqPigmb2JqKSk7CisgICAgICAg
IEdSZWZQdHI8R09iamVjdD4gbyA9IG9iajsKKyAgICAgICAgRVhQRUNUX0VRKG9iaiwgby5nZXQo
KSk7CisgICAgICAgIEVYUEVDVF9FUShvYmotPnJlZl9jb3VudCwgMik7CisgICAgICAgIGdfb2Jq
ZWN0X3VucmVmKG9iaik7CisgICAgICAgIEVYUEVDVF9FUShvYmosIG8uZ2V0KCkpOworICAgIH0K
KyAgICBFWFBFQ1RfTlVMTChvYmopOworCisgICAgeworICAgICAgICBvYmogPSBHX09CSkVDVChn
X29iamVjdF9uZXcoR19UWVBFX09CSkVDVCwgbnVsbHB0cikpOworICAgICAgICBHV2Vha1B0ciB3
ZWFrKHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXIqPigmb2JqKSk7CisgICAgICAgIEdSZWZQdHI8
R09iamVjdD4gbzEgPSBvYmo7CisgICAgICAgIEdSZWZQdHI8R09iamVjdD4gbzIobzEpOworICAg
ICAgICBFWFBFQ1RfRVEob2JqLCBvMS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9FUShvYmosIG8y
LmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0VRKG9iai0+cmVmX2NvdW50LCAzKTsKKyAgICAgICAg
Z19vYmplY3RfdW5yZWYob2JqKTsKKyAgICAgICAgRVhQRUNUX0VRKG9iaiwgbzEuZ2V0KCkpOwor
ICAgICAgICBFWFBFQ1RfRVEob2JqLCBvMi5nZXQoKSk7CisgICAgfQorICAgIEVYUEVDVF9OVUxM
KG9iaik7CisKKyAgICB7CisgICAgICAgIG9iaiA9IEdfT0JKRUNUKGdfb2JqZWN0X25ldyhHX1RZ
UEVfT0JKRUNULCBudWxscHRyKSk7CisgICAgICAgIEdXZWFrUHRyIHdlYWsocmVpbnRlcnByZXRf
Y2FzdDxncG9pbnRlcio+KCZvYmopKTsKKyAgICAgICAgR1JlZlB0cjxHT2JqZWN0PiBvMSA9IG9i
ajsKKyAgICAgICAgR1JlZlB0cjxHT2JqZWN0PiBvMiA9IG8xOworICAgICAgICBFWFBFQ1RfRVEo
b2JqLCBvMS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9FUShvYmosIG8yLmdldCgpKTsKKyAgICAg
ICAgRVhQRUNUX0VRKG9iai0+cmVmX2NvdW50LCAzKTsKKyAgICAgICAgZ19vYmplY3RfdW5yZWYo
b2JqKTsKKyAgICAgICAgRVhQRUNUX0VRKG9iaiwgbzEuZ2V0KCkpOworICAgICAgICBFWFBFQ1Rf
RVEob2JqLCBvMi5nZXQoKSk7CisgICAgfQorICAgIEVYUEVDVF9OVUxMKG9iaik7CisKKyAgICB7
CisgICAgICAgIG9iaiA9IEdfT0JKRUNUKGdfb2JqZWN0X25ldyhHX1RZUEVfT0JKRUNULCBudWxs
cHRyKSk7CisgICAgICAgIEdXZWFrUHRyIHdlYWsocmVpbnRlcnByZXRfY2FzdDxncG9pbnRlcio+
KCZvYmopKTsKKyAgICAgICAgR1JlZlB0cjxHT2JqZWN0PiBvMSA9IG9iajsKKyAgICAgICAgR1Jl
ZlB0cjxHT2JqZWN0PiBvMihXVEZNb3ZlKG8xKSk7CisgICAgICAgIEVYUEVDVF9OVUxMKG8xLmdl
dCgpKTsKKyAgICAgICAgRVhQRUNUX0VRKG9iaiwgbzIuZ2V0KCkpOworICAgICAgICBFWFBFQ1Rf
RVEob2JqLT5yZWZfY291bnQsIDIpOworICAgICAgICBnX29iamVjdF91bnJlZihvYmopOworICAg
ICAgICBFWFBFQ1RfRVEob2JqLCBvMi5nZXQoKSk7CisgICAgfQorICAgIEVYUEVDVF9OVUxMKG9i
aik7CisKKyAgICB7CisgICAgICAgIG9iaiA9IEdfT0JKRUNUKGdfb2JqZWN0X25ldyhHX1RZUEVf
T0JKRUNULCBudWxscHRyKSk7CisgICAgICAgIEdXZWFrUHRyIHdlYWsocmVpbnRlcnByZXRfY2Fz
dDxncG9pbnRlcio+KCZvYmopKTsKKyAgICAgICAgR1JlZlB0cjxHT2JqZWN0PiBvMSA9IG9iajsK
KyAgICAgICAgR1JlZlB0cjxHT2JqZWN0PiBvMiA9IFdURk1vdmUobzEpOworICAgICAgICBFWFBF
Q1RfTlVMTChvMS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9FUShvYmosIG8yLmdldCgpKTsKKyAg
ICAgICAgRVhQRUNUX0VRKG9iai0+cmVmX2NvdW50LCAyKTsKKyAgICAgICAgZ19vYmplY3RfdW5y
ZWYob2JqKTsKKyAgICAgICAgRVhQRUNUX0VRKG9iaiwgbzIuZ2V0KCkpOworICAgIH0KKyAgICBF
WFBFQ1RfTlVMTChvYmopOworfQorCitURVNUKFdURl9HUmVmUHRyLCBBZG9wdCkKK3sKKyAgICBH
T2JqZWN0KiBvYmogPSBudWxscHRyOworICAgIHsKKyAgICAgICAgb2JqID0gR19PQkpFQ1QoZ19v
YmplY3RfbmV3KEdfVFlQRV9PQkpFQ1QsIG51bGxwdHIpKTsKKyAgICAgICAgR1dlYWtQdHIgd2Vh
ayhyZWludGVycHJldF9jYXN0PGdwb2ludGVyKj4oJm9iaikpOworICAgICAgICBHUmVmUHRyPEdP
YmplY3Q+IG8oYWRvcHRHUmVmKG9iaikpOworICAgICAgICBFWFBFQ1RfRVEob2JqLCBvLmdldCgp
KTsKKyAgICAgICAgRVhQRUNUX0VRKG9iai0+cmVmX2NvdW50LCAxKTsKKyAgICB9CisgICAgRVhQ
RUNUX05VTEwob2JqKTsKKworICAgIHsKKyAgICAgICAgb2JqID0gR19PQkpFQ1QoZ19vYmplY3Rf
bmV3KEdfVFlQRV9PQkpFQ1QsIG51bGxwdHIpKTsKKyAgICAgICAgR1dlYWtQdHIgd2VhayhyZWlu
dGVycHJldF9jYXN0PGdwb2ludGVyKj4oJm9iaikpOworICAgICAgICBHUmVmUHRyPEdPYmplY3Q+
IG8gPSBhZG9wdEdSZWYob2JqKTsKKyAgICAgICAgRVhQRUNUX0VRKG9iaiwgby5nZXQoKSk7Cisg
ICAgICAgIEVYUEVDVF9FUShvYmotPnJlZl9jb3VudCwgMSk7CisgICAgfQorICAgIEVYUEVDVF9O
VUxMKG9iaik7Cit9CisKK1RFU1QoV1RGX0dSZWZQdHIsIEZsb2F0aW5nKQoreworICAgIEdPYmpl
Y3QqIG9iaiA9IG51bGxwdHI7CisgICAgeworICAgICAgICBvYmogPSBHX09CSkVDVChnX29iamVj
dF9uZXcoR19UWVBFX0lOSVRJQUxMWV9VTk9XTkVELCBudWxscHRyKSk7CisgICAgICAgIEVYUEVD
VF9UUlVFKGdfb2JqZWN0X2lzX2Zsb2F0aW5nKG9iaikpOworICAgICAgICBHV2Vha1B0ciB3ZWFr
KHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXIqPigmb2JqKSk7CisgICAgICAgIEdSZWZQdHI8R09i
amVjdD4gbyhvYmopOworICAgICAgICBFWFBFQ1RfRkFMU0UoZ19vYmplY3RfaXNfZmxvYXRpbmco
b2JqKSk7CisgICAgICAgIEVYUEVDVF9FUShvYmosIG8uZ2V0KCkpOworICAgICAgICBFWFBFQ1Rf
RVEob2JqLT5yZWZfY291bnQsIDEpOworICAgIH0KKyAgICBFWFBFQ1RfTlVMTChvYmopOworCisg
ICAgeworICAgICAgICBvYmogPSBHX09CSkVDVChnX29iamVjdF9uZXcoR19UWVBFX0lOSVRJQUxM
WV9VTk9XTkVELCBudWxscHRyKSk7CisgICAgICAgIEVYUEVDVF9UUlVFKGdfb2JqZWN0X2lzX2Zs
b2F0aW5nKG9iaikpOworICAgICAgICBHV2Vha1B0ciB3ZWFrKHJlaW50ZXJwcmV0X2Nhc3Q8Z3Bv
aW50ZXIqPigmb2JqKSk7CisgICAgICAgIEdSZWZQdHI8R09iamVjdD4gbyA9IG9iajsKKyAgICAg
ICAgRVhQRUNUX0ZBTFNFKGdfb2JqZWN0X2lzX2Zsb2F0aW5nKG9iaikpOworICAgICAgICBFWFBF
Q1RfRVEob2JqLCBvLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0VRKG9iai0+cmVmX2NvdW50LCAx
KTsKKyAgICB9CisgICAgRVhQRUNUX05VTEwob2JqKTsKKworICAgIHsKKyAgICAgICAgb2JqID0g
R19PQkpFQ1QoZ19vYmplY3RfbmV3KEdfVFlQRV9JTklUSUFMTFlfVU5PV05FRCwgbnVsbHB0cikp
OworICAgICAgICBFWFBFQ1RfVFJVRShnX29iamVjdF9pc19mbG9hdGluZyhvYmopKTsKKyAgICAg
ICAgR1dlYWtQdHIgd2VhayhyZWludGVycHJldF9jYXN0PGdwb2ludGVyKj4oJm9iaikpOworICAg
ICAgICBHUmVmUHRyPEdPYmplY3Q+IG8gPSBhZG9wdEdSZWYob2JqKTsKKyAgICAgICAgRVhQRUNU
X1RSVUUoZ19vYmplY3RfaXNfZmxvYXRpbmcob2JqKSk7CisgICAgICAgIEVYUEVDVF9FUShvYmos
IG8uZ2V0KCkpOworICAgICAgICBFWFBFQ1RfRVEob2JqLT5yZWZfY291bnQsIDEpOworICAgICAg
ICBnX29iamVjdF9yZWZfc2luayhvYmopOworICAgICAgICBFWFBFQ1RfRVEob2JqLT5yZWZfY291
bnQsIDEpOworICAgIH0KKyAgICBFWFBFQ1RfTlVMTChvYmopOworfQorCitURVNUKFdURl9HUmVm
UHRyLCBPdXRQdHIpCit7CisgICAgYXV0byByZXR1cm5PYmplY3QgPSBbXShHT2JqZWN0Kiogb2Jq
KSB7CisgICAgICAgICpvYmogPSBHX09CSkVDVChnX29iamVjdF9uZXcoR19UWVBFX09CSkVDVCwg
bnVsbHB0cikpOworICAgIH07CisKKyAgICBHT2JqZWN0KiBvYmogPSBudWxscHRyOworICAgIHsK
KyAgICAgICAgR1dlYWtQdHIgd2VhazsKKyAgICAgICAgR1JlZlB0cjxHT2JqZWN0PiBvOworICAg
ICAgICBFWFBFQ1RfTlVMTChvLmdldCgpKTsKKyAgICAgICAgcmV0dXJuT2JqZWN0KCZvLm91dFB0
cigpKTsKKyAgICAgICAgRVhQRUNUX05PVF9OVUxMKG8uZ2V0KCkpOworICAgICAgICBvYmogPSBv
LmdldCgpOworICAgICAgICB3ZWFrLnNldChyZWludGVycHJldF9jYXN0PGdwb2ludGVyKj4oJm9i
aikpOworICAgICAgICBFWFBFQ1RfRVEob2JqLT5yZWZfY291bnQsIDEpOworICAgIH0KKyAgICBF
WFBFQ1RfTlVMTChvYmopOworCisgICAgeworICAgICAgICBHV2Vha1B0ciB3ZWFrOworICAgICAg
ICBHUmVmUHRyPEdPYmplY3Q+IG87CisgICAgICAgIEVYUEVDVF9OVUxMKG8uZ2V0KCkpOworICAg
ICAgICByZXR1cm5PYmplY3QoJm8ub3V0UHRyKCkpOworICAgICAgICBFWFBFQ1RfTk9UX05VTEwo
by5nZXQoKSk7CisgICAgICAgIEdPYmplY3QqIG9iajIgPSBvLmdldCgpOworICAgICAgICBHV2Vh
a1B0ciB3ZWFrMihyZWludGVycHJldF9jYXN0PGdwb2ludGVyKj4oJm9iajIpKTsKKyAgICAgICAg
cmV0dXJuT2JqZWN0KCZvLm91dFB0cigpKTsKKyAgICAgICAgRVhQRUNUX05VTEwob2JqMik7Cisg
ICAgICAgIEVYUEVDVF9OT1RfTlVMTChvLmdldCgpKTsKKyAgICAgICAgb2JqID0gby5nZXQoKTsK
KyAgICAgICAgd2Vhay5zZXQocmVpbnRlcnByZXRfY2FzdDxncG9pbnRlcio+KCZvYmopKTsKKyAg
ICAgICAgRVhQRUNUX0VRKG9iai0+cmVmX2NvdW50LCAxKTsKKyAgICB9CisgICAgRVhQRUNUX05V
TEwob2JqKTsKK30KKworVEVTVChXVEZfR1JlZlB0ciwgQ2xlYXIpCit7CisgICAgR09iamVjdCog
b2JqID0gR19PQkpFQ1QoZ19vYmplY3RfbmV3KEdfVFlQRV9PQkpFQ1QsIG51bGxwdHIpKTsKKyAg
ICBHV2Vha1B0ciB3ZWFrKHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXIqPigmb2JqKSk7CisgICAg
R1JlZlB0cjxHT2JqZWN0PiBvID0gYWRvcHRHUmVmKG9iaik7CisgICAgRVhQRUNUX0VRKG9iaiwg
by5nZXQoKSk7CisgICAgRVhQRUNUX0VRKG9iai0+cmVmX2NvdW50LCAxKTsKKyAgICBvLmNsZWFy
KCk7CisgICAgRVhQRUNUX05VTEwoby5nZXQoKSk7CisgICAgRVhQRUNUX05VTEwob2JqKTsKK30K
KworVEVTVChXVEZfR1JlZlB0ciwgTGVha1JlZikKK3sKKyAgICBHT2JqZWN0KiBvYmogPSBudWxs
cHRyOworICAgIHsKKyAgICAgICAgb2JqID0gR19PQkpFQ1QoZ19vYmplY3RfbmV3KEdfVFlQRV9P
QkpFQ1QsIG51bGxwdHIpKTsKKyAgICAgICAgR1dlYWtQdHIgd2VhayhyZWludGVycHJldF9jYXN0
PGdwb2ludGVyKj4oJm9iaikpOworICAgICAgICBHUmVmUHRyPEdPYmplY3Q+IG8gPSBhZG9wdEdS
ZWYob2JqKTsKKyAgICAgICAgRVhQRUNUX0VRKG9iaiwgby5nZXQoKSk7CisgICAgICAgIEVYUEVD
VF9FUShvYmotPnJlZl9jb3VudCwgMSk7CisgICAgICAgIGF1dG8qIG9iajIgPSBvLmxlYWtSZWYo
KTsKKyAgICAgICAgRVhQRUNUX05VTEwoby5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9FUShvYmos
IG9iajIpOworICAgIH0KKyAgICBFWFBFQ1RfTk9UX05VTEwob2JqKTsKKyAgICBFWFBFQ1RfRVEo
b2JqLT5yZWZfY291bnQsIDEpOworICAgIGdfb2JqZWN0X3VucmVmKG9iaik7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
      

    </bug>

</bugzilla>