<?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>174495</bug_id>
          
          <creation_ts>2017-07-13 23:26:48 -0700</creation_ts>
          <short_desc>[WTF] Use std::unique_ptr for StackTrace</short_desc>
          <delta_ts>2017-07-16 08:25:37 -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>WebKit 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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ticaiolima</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1328691</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-13 23:26:48 -0700</bug_when>
    <thetext>[WTF] Use std::unique_ptr for StackTrace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328692</commentid>
    <comment_count>1</comment_count>
      <attachid>315405</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-13 23:30:38 -0700</bug_when>
    <thetext>Created attachment 315405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328778</commentid>
    <comment_count>2</comment_count>
      <attachid>315405</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-14 09:03:51 -0700</bug_when>
    <thetext>Comment on attachment 315405
Patch

Clearing flags on attachment: 315405

Committed r219506: &lt;http://trac.webkit.org/changeset/219506&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328779</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-14 09:03:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328814</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-07-14 09:42:09 -0700</bug_when>
    <thetext>Caio had brought up this issue before, and I told him at the time that I original chose to have captureStackTrace() return a raw pointer instead of a std::unique_ptr for a reason.

I looked and found the discussion I was thinking of: https://bugs.webkit.org/show_bug.cgi?id=169454#c7.  Michael had suggested using RefPtr which I think is not needed.  A std::unique_ptr is indeed the right solution.  The only reason that captureStackTrace() didn&apos;t return a std::unique_ptr instead of a raw pointer was because I didn&apos;t think to do so at the time and was writing bad C++ code.

Thanks for the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328822</commentid>
    <comment_count>5</comment_count>
      <attachid>315405</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-07-14 10:03:40 -0700</bug_when>
    <thetext>Comment on attachment 315405
Patch

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

&gt; Source/WTF/wtf/StackTrace.cpp:69
&gt; +    std::unique_ptr&lt;StackTrace&gt; trace(new (NotNull, fastMalloc(sizeToAllocate)) StackTrace());

How does the fastMalloc memory here get freed when the unique_ptr’s destructor is run? Maybe I’m missing something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328824</commentid>
    <comment_count>6</comment_count>
      <attachid>315405</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-07-14 10:07:32 -0700</bug_when>
    <thetext>Comment on attachment 315405
Patch

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

&gt;&gt; Source/WTF/wtf/StackTrace.cpp:69
&gt;&gt; +    std::unique_ptr&lt;StackTrace&gt; trace(new (NotNull, fastMalloc(sizeToAllocate)) StackTrace());
&gt; 
&gt; How does the fastMalloc memory here get freed when the unique_ptr’s destructor is run? Maybe I’m missing something?

Because class StackTrace is WTF_MAKE_FAST_ALLOCATED.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328826</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-07-14 10:08:48 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #6)
&gt; Comment on attachment 315405 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=315405&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WTF/wtf/StackTrace.cpp:69
&gt; &gt;&gt; +    std::unique_ptr&lt;StackTrace&gt; trace(new (NotNull, fastMalloc(sizeToAllocate)) StackTrace());
&gt; &gt; 
&gt; &gt; How does the fastMalloc memory here get freed when the unique_ptr’s destructor is run? Maybe I’m missing something?
&gt; 
&gt; Because class StackTrace is WTF_MAKE_FAST_ALLOCATED.

In case you missed it, the purpose of the explicit call to fastMalloc() is not to choose fastMalloc vs system malloc, but to customize the allocation size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329176</commentid>
    <comment_count>8</comment_count>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2017-07-15 07:39:10 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #4)
&gt; Caio had brought up this issue before, and I told him at the time that I
&gt; original chose to have captureStackTrace() return a raw pointer instead of a
&gt; std::unique_ptr for a reason.
&gt; 
&gt; I looked and found the discussion I was thinking of:
&gt; https://bugs.webkit.org/show_bug.cgi?id=169454#c7.  Michael had suggested
&gt; using RefPtr which I think is not needed.  A std::unique_ptr is indeed the
&gt; right solution.  The only reason that captureStackTrace() didn&apos;t return a
&gt; std::unique_ptr instead of a raw pointer was because I didn&apos;t think to do so
&gt; at the time and was writing bad C++ code.
&gt; 
&gt; Thanks for the fix.

It was Yusuke&apos;s suggestion BTW.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329204</commentid>
    <comment_count>9</comment_count>
      <attachid>315405</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-07-15 09:58:51 -0700</bug_when>
    <thetext>Comment on attachment 315405
Patch

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

&gt; Source/WTF/ChangeLog:12
&gt; +        And we also move WTFGetBackTrace from Assertions.cpp to
&gt; +        StackTrace.cpp to consolidate stack trace related operations
&gt; +        into StackTrace.cpp.

OK, but it’s not great that this function is declared in Assertions.h but defined in StackTrace.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329385</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-16 07:39:22 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Comment on attachment 315405 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=315405&amp;action=review
&gt; 
&gt; &gt; Source/WTF/ChangeLog:12
&gt; &gt; +        And we also move WTFGetBackTrace from Assertions.cpp to
&gt; &gt; +        StackTrace.cpp to consolidate stack trace related operations
&gt; &gt; +        into StackTrace.cpp.
&gt; 
&gt; OK, but it’s not great that this function is declared in Assertions.h but
&gt; defined in StackTrace.cpp.

Let&apos;s remove WTFGetBacktrace and WTFPrintBacktrace!
And move these functionalities to StackTrace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329388</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-16 08:25:37 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #10)
&gt; (In reply to Darin Adler from comment #9)
&gt; &gt; Comment on attachment 315405 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=315405&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WTF/ChangeLog:12
&gt; &gt; &gt; +        And we also move WTFGetBackTrace from Assertions.cpp to
&gt; &gt; &gt; +        StackTrace.cpp to consolidate stack trace related operations
&gt; &gt; &gt; +        into StackTrace.cpp.
&gt; &gt; 
&gt; &gt; OK, but it’s not great that this function is declared in Assertions.h but
&gt; &gt; defined in StackTrace.cpp.
&gt; 
&gt; Let&apos;s remove WTFGetBacktrace and WTFPrintBacktrace!
&gt; And move these functionalities to StackTrace.

https://bugs.webkit.org/show_bug.cgi?id=174566</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315405</attachid>
            <date>2017-07-13 23:30:38 -0700</date>
            <delta_ts>2017-07-14 09:03:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174495-20170714153037.patch</filename>
            <type>text/plain</type>
            <size>6359</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
OTFlNDlmNzZlNTUyZmVhMzRiMjJjODJiZWIyYTUwYWU2MTEwYmM1Li43NThmZDliYmM4YmUzNjY5
YWQyNDM0ZTU4ZGNiYmEzZjdhMWVkMGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNy0wNy0xMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbV1RGXSBVc2Ugc3RkOjp1bmlxdWVfcHRyIGZvciBTdGFja1RyYWNl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQ0OTUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRp
bWUvRXhjZXB0aW9uU2NvcGUuY3BwOgorICAgICAgICAoSlNDOjpFeGNlcHRpb25TY29wZTo6dW5l
eHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UpOgorICAgICAgICAqIHJ1bnRpbWUvVk0uY3BwOgorICAg
ICAgICAoSlNDOjpWTTo6dGhyb3dFeGNlcHRpb24pOgorCiAyMDE3LTA3LTEzICBNaWNoYWVsIENh
dGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggY29tcGlsZXIg
d2FybmluZ3Mgd2hlbiBidWlsZGluZyB3aXRoIEdDQyA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDg2ODY3MDM0MTY3MjI3MzJk
OTc4MjU0MjkxNzllMWZkYzVkMmI0MzQuLmYyNDZmYmYyM2I2NWVlMjAzNjRiNWMxZjFkOWQ3NmFh
YTlhNmYxYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjQgQEAKIDIwMTctMDctMTMgIFl1c3VrZSBTdXp1a2kg
IDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKKyAgICAgICAgW1dURl0gVXNlIHN0ZDo6dW5pcXVl
X3B0ciBmb3IgU3RhY2tUcmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc0NDk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW5zdGVhZCBvZiByZXR1cm5pbmcgcG9pbnRlciB0byBoZWFwIGFsbG9jYXRl
ZCBTdGFja1RyYWNlLAorICAgICAgICB3ZSBzaG91bGQgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxT
dGFja1RyYWNlPi4KKyAgICAgICAgQW5kIHdlIGFsc28gbW92ZSBXVEZHZXRCYWNrVHJhY2UgZnJv
bSBBc3NlcnRpb25zLmNwcCB0bworICAgICAgICBTdGFja1RyYWNlLmNwcCB0byBjb25zb2xpZGF0
ZSBzdGFjayB0cmFjZSByZWxhdGVkIG9wZXJhdGlvbnMKKyAgICAgICAgaW50byBTdGFja1RyYWNl
LmNwcC4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvU3Rh
Y2tUcmFjZS5jcHA6CisgICAgICAgIChXVEZHZXRCYWNrdHJhY2UpOgorICAgICAgICAoV1RGOjpT
dGFja1RyYWNlOjpjYXB0dXJlU3RhY2tUcmFjZSk6CisgICAgICAgICogd3RmL1N0YWNrVHJhY2Uu
aDoKKworMjAxNy0wNy0xMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4K
KwogICAgICAgICBVbnJldmlld2VkLCBhbm5vdGF0ZSBpbmxpbmUgZm9yIG9wZXJhdG9yPT0vIT0g
Zm9yIEZhc3RBbGxvY2F0b3IKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NDM2NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FeGNlcHRpb25TY29wZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
eGNlcHRpb25TY29wZS5jcHAKaW5kZXggOTU0NGM2NGNiNmYwZjZjZmUwMjFlYTI4MTk4MDJiNTU3
OGYxNmIxZC4uNjkwYmMxMjI5ZjIxNDBhMDhkYmE3N2I3ZTU1YmEyYzIxZjhjMjdiZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhjZXB0aW9uU2NvcGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvblNjb3BlLmNwcApAQCAt
NTYsNyArNTYsNyBAQCBDU3RyaW5nIEV4Y2VwdGlvblNjb3BlOjp1bmV4cGVjdGVkRXhjZXB0aW9u
TWVzc2FnZSgpCiAgICAgU3RyaW5nUHJpbnRTdHJlYW0gb3V0OwogCiAgICAgb3V0LnByaW50bG4o
IlVuZXhwZWN0ZWQgZXhjZXB0aW9uIG9ic2VydmVkIG9uIHRocmVhZCAiLCBjdXJyZW50VGhyZWFk
KCksICIgYXQ6Iik7Ci0gICAgYXV0byBjdXJyZW50U3RhY2sgPSBzdGQ6OnVuaXF1ZV9wdHI8U3Rh
Y2tUcmFjZT4oU3RhY2tUcmFjZTo6Y2FwdHVyZVN0YWNrVHJhY2UoT3B0aW9uczo6dW5leHBlY3Rl
ZEV4Y2VwdGlvblN0YWNrVHJhY2VMaW1pdCgpLCAxKSk7CisgICAgYXV0byBjdXJyZW50U3RhY2sg
PSBTdGFja1RyYWNlOjpjYXB0dXJlU3RhY2tUcmFjZShPcHRpb25zOjp1bmV4cGVjdGVkRXhjZXB0
aW9uU3RhY2tUcmFjZUxpbWl0KCksIDEpOwogICAgIGN1cnJlbnRTdGFjay0+ZHVtcChvdXQsICIg
ICAgIik7CiAKICAgICBpZiAoIW1fdm0ubmF0aXZlU3RhY2tUcmFjZU9mTGFzdFRocm93KCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKaW5kZXggNDg3MjdhNjYyZWU5NjU2YWJjYTg1
YzA1YzM1NmE2Zjk0NjQyNWQzZS4uZmUzOTU2ZDA0M2Y3NDQ0ZDdhYWIzMTgzOTNiODAwYjUyMmQ5
ZTE2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcApAQCAtNjAwLDcgKzYwMCw3
IEBAIHZvaWQgVk06OnRocm93RXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uKiBl
eGNlcHRpb24pCiAgICAgc2V0RXhjZXB0aW9uKGV4Y2VwdGlvbik7CiAKICNpZiBFTkFCTEUoRVhD
RVBUSU9OX1NDT1BFX1ZFUklGSUNBVElPTikKLSAgICBtX25hdGl2ZVN0YWNrVHJhY2VPZkxhc3RU
aHJvdyA9IHN0ZDo6dW5pcXVlX3B0cjxTdGFja1RyYWNlPihTdGFja1RyYWNlOjpjYXB0dXJlU3Rh
Y2tUcmFjZShPcHRpb25zOjp1bmV4cGVjdGVkRXhjZXB0aW9uU3RhY2tUcmFjZUxpbWl0KCkpKTsK
KyAgICBtX25hdGl2ZVN0YWNrVHJhY2VPZkxhc3RUaHJvdyA9IFN0YWNrVHJhY2U6OmNhcHR1cmVT
dGFja1RyYWNlKE9wdGlvbnM6OnVuZXhwZWN0ZWRFeGNlcHRpb25TdGFja1RyYWNlTGltaXQoKSk7
CiAgICAgbV90aHJvd2luZ1RocmVhZCA9IGN1cnJlbnRUaHJlYWQoKTsKICNlbmRpZgogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9B
c3NlcnRpb25zLmNwcAppbmRleCBhNzAzMjVkOTA4NjRiMjIwYzljMzRmYjZmMTBiNjMyNjcwNGZj
OTBmLi44NmFlNTQ1MDYxZjgwODZjOTZmMWViMGM3NTU2YmJjYzMwNTY3YzE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Bc3Nl
cnRpb25zLmNwcApAQCAtNzQsMTAgKzc0LDYgQEAKICNpbmNsdWRlIDx1bmlzdGQuaD4KICNlbmRp
ZgogCi0jaWYgSEFWRShCQUNLVFJBQ0UpCi0jaW5jbHVkZSA8ZXhlY2luZm8uaD4KLSNlbmRpZgot
CiBleHRlcm4gIkMiIHsKIAogc3RhdGljIHZvaWQgbG9nVG9TdGRlcnIoY29uc3QgY2hhciogYnVm
ZmVyKQpAQCAtMjQ3LDE3ICsyNDMsNiBAQCBjbGFzcyBDcmFzaExvZ1ByaW50U3RyZWFtIDogcHVi
bGljIFByaW50U3RyZWFtIHsKICAgICB9CiB9OwogCi12b2lkIFdURkdldEJhY2t0cmFjZSh2b2lk
Kiogc3RhY2ssIGludCogc2l6ZSkKLXsKLSNpZiBIQVZFKEJBQ0tUUkFDRSkKLSAgICAqc2l6ZSA9
IGJhY2t0cmFjZShzdGFjaywgKnNpemUpOwotI2VsaWYgT1MoV0lORE9XUykKLSAgICAqc2l6ZSA9
IFJ0bENhcHR1cmVTdGFja0JhY2tUcmFjZSgwLCAqc2l6ZSwgc3RhY2ssIDApOwotI2Vsc2UKLSAg
ICAqc2l6ZSA9IDA7Ci0jZW5kaWYKLX0KLQogdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKQogewog
ICAgIHN0YXRpYyBjb25zdCBpbnQgZnJhbWVzVG9TaG93ID0gMzE7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9TdGFja1RyYWNlLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1N0YWNrVHJhY2UuY3Bw
CmluZGV4IGNlN2MzZWJkN2U3MzAwMWJhZTUwMGYxNWRjMzhkMGU3YzcxZmRmNTQuLjYyYmRiYmQ4
YjQyOGI0NTQ0ZTYyNGE5ZmE2ZWI0ODBjZjRlOWY0MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1N0YWNrVHJhY2UuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1N0YWNrVHJhY2UuY3BwCkBA
IC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3
dGYvUHJpbnRTdHJlYW0uaD4KIAotI2lmIEhBVkUoQkFDS1RSQUNFX1NZTUJPTFMpCisjaWYgSEFW
RShCQUNLVFJBQ0VfU1lNQk9MUykgfHwgSEFWRShCQUNLVFJBQ0UpCiAjaW5jbHVkZSA8ZXhlY2lu
Zm8uaD4KICNlbmRpZgogCkBAIC0zOSw2ICszOSwyMSBAQAogI2luY2x1ZGUgPGRsZmNuLmg+CiAj
ZW5kaWYKIAorI2lmIE9TKFdJTkRPV1MpCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2VuZGlmCisK
K3ZvaWQgV1RGR2V0QmFja3RyYWNlKHZvaWQqKiBzdGFjaywgaW50KiBzaXplKQoreworI2lmIEhB
VkUoQkFDS1RSQUNFKQorICAgICpzaXplID0gYmFja3RyYWNlKHN0YWNrLCAqc2l6ZSk7CisjZWxp
ZiBPUyhXSU5ET1dTKQorICAgICpzaXplID0gUnRsQ2FwdHVyZVN0YWNrQmFja1RyYWNlKDAsICpz
aXplLCBzdGFjaywgMCk7CisjZWxzZQorICAgICpzaXplID0gMDsKKyNlbmRpZgorfQorCiBuYW1l
c3BhY2UgV1RGIHsKIAogQUxXQVlTX0lOTElORSBzaXplX3QgU3RhY2tUcmFjZTo6aW5zdGFuY2VT
aXplKGludCBjYXBhY2l0eSkKQEAgLTQ3LDExICs2MiwxMSBAQCBBTFdBWVNfSU5MSU5FIHNpemVf
dCBTdGFja1RyYWNlOjppbnN0YW5jZVNpemUoaW50IGNhcGFjaXR5KQogICAgIHJldHVybiBzaXpl
b2YoU3RhY2tUcmFjZSkgKyAoY2FwYWNpdHkgLSAxKSAqIHNpemVvZih2b2lkKik7CiB9CiAKLVN0
YWNrVHJhY2UqIFN0YWNrVHJhY2U6OmNhcHR1cmVTdGFja1RyYWNlKGludCBtYXhGcmFtZXMsIGlu
dCBmcmFtZXNUb1NraXApCitzdGQ6OnVuaXF1ZV9wdHI8U3RhY2tUcmFjZT4gU3RhY2tUcmFjZTo6
Y2FwdHVyZVN0YWNrVHJhY2UoaW50IG1heEZyYW1lcywgaW50IGZyYW1lc1RvU2tpcCkKIHsKICAg
ICBtYXhGcmFtZXMgPSBzdGQ6Om1heCgxLCBtYXhGcmFtZXMpOwogICAgIHNpemVfdCBzaXplVG9B
bGxvY2F0ZSA9IGluc3RhbmNlU2l6ZShtYXhGcmFtZXMpOwotICAgIFN0YWNrVHJhY2UqIHRyYWNl
ID0gbmV3IChOb3ROdWxsLCBmYXN0TWFsbG9jKHNpemVUb0FsbG9jYXRlKSkgU3RhY2tUcmFjZSgp
OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTdGFja1RyYWNlPiB0cmFjZShuZXcgKE5vdE51bGwsIGZh
c3RNYWxsb2Moc2l6ZVRvQWxsb2NhdGUpKSBTdGFja1RyYWNlKCkpOwogCiAgICAgLy8gU2tpcCAy
IGFkZGl0aW9uYWwgZnJhbWVzIGkuZS4gU3RhY2tUcmFjZTo6Y2FwdHVyZVN0YWNrVHJhY2UgYW5k
IFdURkdldEJhY2t0cmFjZS4KICAgICBmcmFtZXNUb1NraXAgKz0gMjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1N0YWNrVHJhY2UuaCBiL1NvdXJjZS9XVEYvd3RmL1N0YWNrVHJhY2UuaApp
bmRleCBhZjZhOTYxZjk1ZjZhNzE1ZTZiNWEwMTkxYzJjNjRmOGY4ZTI1NWU1Li40MzJhNzc5MWIz
MDNjOTliNTBmNDFiZWI4ZjFmNzY5Y2ZiMWMwMTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9TdGFja1RyYWNlLmgKKysrIGIvU291cmNlL1dURi93dGYvU3RhY2tUcmFjZS5oCkBAIC0zNiw3
ICszNiw3IEBAIGNsYXNzIFByaW50U3RyZWFtOwogY2xhc3MgU3RhY2tUcmFjZSB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0
YXRpYyBTdGFja1RyYWNlKiBjYXB0dXJlU3RhY2tUcmFjZShpbnQgbWF4RnJhbWVzLCBpbnQgZnJh
bWVzVG9Ta2lwID0gMCk7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8U3RhY2tUcmFjZT4gY2FwdHVyZVN0YWNrVHJhY2UoaW50IG1heEZyYW1lcywgaW50IGZy
YW1lc1RvU2tpcCA9IDApOwogCiAgICAgLy8gQm9ycm93ZWQgc3RhY2sgdHJhY2UuCiAgICAgU3Rh
Y2tUcmFjZSh2b2lkKiogc3RhY2ssIGludCBzaXplKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>