<?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>133936</bug_id>
          
          <creation_ts>2014-06-15 23:40:09 -0700</creation_ts>
          <short_desc>API::String is not thread-safe</short_desc>
          <delta_ts>2014-12-04 17:08:12 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          <dependson>139261</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1015816</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-06-15 23:40:09 -0700</bug_when>
    <thetext>API::String is not thread-safe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015819</commentid>
    <comment_count>1</comment_count>
      <attachid>233152</attachid>
    <who name="">mitz</who>
    <bug_when>2014-06-16 00:09:13 -0700</bug_when>
    <thetext>Created attachment 233152
Safely dispose of m_string on the main thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015820</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-16 00:11:33 -0700</bug_when>
    <thetext>Attachment 233152 did not pass style-queue:


ERROR: Source/WebKit2/Shared/APIString.h:133:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016007</commentid>
    <comment_count>3</comment_count>
      <attachid>233152</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-16 16:11:18 -0700</bug_when>
    <thetext>Comment on attachment 233152
Safely dispose of m_string on the main thread

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

&gt; Source/WebKit2/Shared/APIString.h:68
&gt; +        WTF::String string = std::move(m_string);

Can use auto here.

&gt; Source/WebKit2/Shared/APIString.h:69
&gt; +        RunLoop::main().dispatch([string]() { });

I think this needs a comment.

&gt; Source/WebKit2/Shared/APIString.h:115
&gt; +        RunLoop::main().dispatch([string]() { });

I think this needs a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016067</commentid>
    <comment_count>4</comment_count>
      <attachid>233218</attachid>
    <who name="">mitz</who>
    <bug_when>2014-06-16 22:16:23 -0700</bug_when>
    <thetext>Created attachment 233218
Safely dispose of m_string on the main thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016068</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-16 22:18:55 -0700</bug_when>
    <thetext>Attachment 233218 did not pass style-queue:


ERROR: Source/WebKit2/Shared/APIString.h:135:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016452</commentid>
    <comment_count>6</comment_count>
      <attachid>233218</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-18 08:24:58 -0700</bug_when>
    <thetext>Comment on attachment 233218
Safely dispose of m_string on the main thread

What if the string is created off the main thread?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016456</commentid>
    <comment_count>7</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-06-18 08:43:44 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 233218 [details])
&gt; What if the string is created off the main thread?

In that case we make an isolated copy at creation time, so we are free to dispose of it on the main thread eventually. The invariant is that m_string is always safe to destroy on the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016457</commentid>
    <comment_count>8</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-06-18 08:52:12 -0700</bug_when>
    <thetext>Oh, I think you&apos;re saying that the string() accessor may violate the invariant. It should just make an isolated copy and return it whenever it&apos;s called off the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1052628</commentid>
    <comment_count>9</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-12-04 17:08:12 -0800</bug_when>
    <thetext>The fix for bug 139261 made API::String copy unconditionally on creation.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233152</attachid>
            <date>2014-06-16 00:09:13 -0700</date>
            <delta_ts>2014-06-16 22:16:21 -0700</delta_ts>
            <desc>Safely dispose of m_string on the main thread</desc>
            <filename>bug-133936-20140616000850.patch</filename>
            <type>text/plain</type>
            <size>3702</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MDAwMCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE0LTA2LTE1ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgQVBJOjpTdHJpbmcgaXMgbm90IHRo
cmVhZC1zYWZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzM5MzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFNoYXJlZC9BUEkvYy9jZi9XS1N0cmluZ0NGLm1tOgorICAgICAgICAoV0tTdHJpbmdDb3B5
Q0ZTdHJpbmcpOiBDaGFuZ2VkIHRvIHJldHVybiB0aGUgQVBJOjpTdHJpbmcuCisKKyAgICAgICAg
KiBTaGFyZWQvQVBJU3RyaW5nLmg6CisgICAgICAgIChBUEk6OlN0cmluZzo6flN0cmluZyk6IEVu
c3VyZSB0aGUgdGhlIFdURjo6U3RyaW5nIGRlc3RydWN0b3IgaXMgY2FsbGVkIG9uIHRoZSBtYWlu
IHRocmVhZCwKKyAgICAgICAgdW5sZXNzIGl0IGlzIHNhZmUgdG8gZG8gc28gb24gdGhlIGN1cnJl
bnQgdGhyZWFkLgorICAgICAgICAoQVBJOjpTdHJpbmc6OnN0cmluZyk6IFdoZW4gY2FsbGVkIGZy
b20gYSBub24tbWFpbiB0aHJlYWQsIGVuc3VyZSB0aGF0IHRoZSBXVEY6OlN0cmluZyBpcworICAg
ICAgICBzYWZlIHRvIHVzZSBvbiB0aGF0IHRocmVhZCwgYnkgcmVwbGFjaW5nIGl0IHdpdGggYW4g
aXNvbGF0ZWQgY29weSBpZiBuZWNlc3NhcnkuCisgICAgICAgIChBUEk6OlN0cmluZzo6U3RyaW5n
KTogRW5zdXJlIHRoYXQgaXQgd2lsbCBiZSBzYWZlIHRvIGRlc3Ryb3kgdGhlIFdURjo6U3RyaW5n
IG9uIHRoZSBtYWluCisgICAgICAgIHRocmVhZCwgd2hlbiB3ZSBldmVudHVhbGx5IGRvIHNvLCBi
eSBtYWtpbmcgYW4gaXNvbGF0ZWQgY29weSBpZiBuZWNlc3NhcnkuCisKIDIwMTQtMDYtMTUgIERh
biBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBQYXJ0IDEgb2YgQ2hhbmdl
IEdlbmVyaWNDYWxsYmFjazw+IGZ1bmN0aW9uIHBhcmFtZXRlcnMgaW50byBzdGQ6OmZ1bmN0aW9u
PD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElTdHJpbmcuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJU3RyaW5nLmgJKHJldmlzaW9uIDE2OTk5NykKKysr
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElTdHJpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMzEs
NiArMzEsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU3RyaW5nUmVmLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvT3BhcXVlSlNTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nVmlldy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogI2luY2x1ZGUg
PHd0Zi91bmljb2RlL1VURjguaD4KQEAgLTYxLDYgKzYyLDExIEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgflN0cmluZygpCiAgICAgeworICAgICAgICBpZiAobV9zdHJpbmcuaXNTYWZlVG9TZW5k
VG9Bbm90aGVyVGhyZWFkKCkgfHwgUnVuTG9vcDo6aXNNYWluKCkpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgV1RGOjpTdHJpbmcgc3RyaW5nID0gc3RkOjptb3ZlKG1fc3RyaW5nKTsK
KyAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtzdHJpbmddKCkgeyB9KTsKICAgICB9
CiAKICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nLmlzTnVsbCgpOyB9
CkBAIC05OSw3ICsxMDUsMTcgQEAgcHVibGljOgogICAgIGJvb2wgZXF1YWxUb1VURjhTdHJpbmco
Y29uc3QgY2hhciogb3RoZXIpIHsgcmV0dXJuIG1fc3RyaW5nID09IFdURjo6U3RyaW5nOjpmcm9t
VVRGOChvdGhlcik7IH0KICAgICBib29sIGVxdWFsVG9VVEY4U3RyaW5nSWdub3JpbmdDYXNlKGNv
bnN0IGNoYXIqIG90aGVyKSB7IHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZShtX3N0cmluZywgb3Ro
ZXIpOyB9CiAKLSAgICBjb25zdCBXVEY6OlN0cmluZyYgc3RyaW5nKCkgY29uc3QgeyByZXR1cm4g
bV9zdHJpbmc7IH0KKyAgICBjb25zdCBXVEY6OlN0cmluZyYgc3RyaW5nKCkgY29uc3QKKyAgICB7
CisgICAgICAgIGlmIChtX3N0cmluZy5pc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoKSB8fCBS
dW5Mb29wOjppc01haW4oKSkKKyAgICAgICAgICAgIHJldHVybiBtX3N0cmluZzsKKworICAgICAg
ICBXVEY6OlN0cmluZyBzdHJpbmcgPSBtX3N0cmluZy5pc29sYXRlZENvcHkoKTsKKyAgICAgICAg
bV9zdHJpbmcuc3dhcChzdHJpbmcpOworICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2go
W3N0cmluZ10oKSB7IH0pOworCisgICAgICAgIHJldHVybiBtX3N0cmluZzsKKyAgICB9CiAKICAg
ICBKU1N0cmluZ1JlZiBjcmVhdGVKU1N0cmluZygpIGNvbnN0CiAgICAgewpAQCAtMTE0LDExICsx
MzAsMTEgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICBTdHJpbmcoY29uc3QgV1RGOjpTdHJpbmcm
IHN0cmluZykKLSAgICAgICAgOiBtX3N0cmluZyghc3RyaW5nLmltcGwoKSA/IFdURjo6U3RyaW5n
KFN0cmluZ0ltcGw6OmVtcHR5KCkpIDogc3RyaW5nKQorICAgICAgICA6IG1fc3RyaW5nKCFzdHJp
bmcuaW1wbCgpID8gV1RGOjpTdHJpbmcoU3RyaW5nSW1wbDo6ZW1wdHkoKSkgOiAoUnVuTG9vcDo6
aXNNYWluKCkgPyBzdHJpbmcgOiBzdHJpbmcuaXNvbGF0ZWRDb3B5KCkpKQogICAgIHsKICAgICB9
CiAKLSAgICBXVEY6OlN0cmluZyBtX3N0cmluZzsKKyAgICBtdXRhYmxlIFdURjo6U3RyaW5nIG1f
c3RyaW5nOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvY2YvV0tTdHJpbmdDRi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvY2YvV0tTdHJpbmdDRi5tbQkocmV2aXNpb24gMTY5OTk3KQorKysg
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL2NmL1dLU3RyaW5nQ0YubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTYxLDYgKzYxLDkgQEAgQ0ZTdHJpbmdSZWYgV0tTdHJpbmdDb3B5Q0ZTdHJpbmcoQ0ZB
bGxvYwogewogICAgIEFTU0VSVCghdG9JbXBsKHN0cmluZ1JlZiktPnN0cmluZygpLmlzTnVsbCgp
KTsKIAorI2lmIFdLX0FQSV9FTkFCTEVECisgICAgcmV0dXJuIChDRlN0cmluZ1JlZilbd3JhcHBl
cigqdG9JbXBsKHN0cmluZ1JlZikpIGNvcHldOworI2VuZGlmCiAgICAgLy8gTk9URTogVGhpcyBk
b2VzIG5vdCB1c2UgU3RyaW5nSW1wbDo6Y3JlYXRlQ0ZTdHJpbmcoKSBzaW5jZSB0aGF0IGZ1bmN0
aW9uCiAgICAgLy8gZXhwZWN0cyB0byBiZSBjYWxsZWQgb24gdGhlIHRocmVhZCBydW5uaW5nIFdl
YkNvcmUuCiAgICAgaWYgKHRvSW1wbChzdHJpbmdSZWYpLT5zdHJpbmcoKS5pczhCaXQoKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233218</attachid>
            <date>2014-06-16 22:16:23 -0700</date>
            <delta_ts>2014-06-27 11:05:41 -0700</delta_ts>
            <desc>Safely dispose of m_string on the main thread</desc>
            <filename>bug-133936-20140616221600.patch</filename>
            <type>text/plain</type>
            <size>3850</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MDA0MSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE0LTA2LTE2ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgQVBJOjpTdHJpbmcgaXMgbm90IHRo
cmVhZC1zYWZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzM5MzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFNoYXJlZC9BUEkvYy9jZi9XS1N0cmluZ0NGLm1tOgorICAgICAgICAoV0tTdHJpbmdDb3B5
Q0ZTdHJpbmcpOiBDaGFuZ2VkIHRvIHJldHVybiB0aGUgQVBJOjpTdHJpbmcuCisKKyAgICAgICAg
KiBTaGFyZWQvQVBJU3RyaW5nLmg6CisgICAgICAgIChBUEk6OlN0cmluZzo6flN0cmluZyk6IEVu
c3VyZSB0aGUgdGhlIFdURjo6U3RyaW5nIGRlc3RydWN0b3IgaXMgY2FsbGVkIG9uIHRoZSBtYWlu
IHRocmVhZCwKKyAgICAgICAgdW5sZXNzIGl0IGlzIHNhZmUgdG8gZG8gc28gb24gdGhlIGN1cnJl
bnQgdGhyZWFkLgorICAgICAgICAoQVBJOjpTdHJpbmc6OnN0cmluZyk6IFdoZW4gY2FsbGVkIGZy
b20gYSBub24tbWFpbiB0aHJlYWQsIGVuc3VyZSB0aGF0IHRoZSBXVEY6OlN0cmluZyBpcworICAg
ICAgICBzYWZlIHRvIHVzZSBvbiB0aGF0IHRocmVhZCwgYnkgcmVwbGFjaW5nIGl0IHdpdGggYW4g
aXNvbGF0ZWQgY29weSBpZiBuZWNlc3NhcnkuCisgICAgICAgIChBUEk6OlN0cmluZzo6U3RyaW5n
KTogRW5zdXJlIHRoYXQgaXQgd2lsbCBiZSBzYWZlIHRvIGRlc3Ryb3kgdGhlIFdURjo6U3RyaW5n
IG9uIHRoZSBtYWluCisgICAgICAgIHRocmVhZCwgd2hlbiB3ZSBldmVudHVhbGx5IGRvIHNvLCBi
eSBtYWtpbmcgYW4gaXNvbGF0ZWQgY29weSBpZiBuZWNlc3NhcnkuCisKIDIwMTQtMDYtMTYgIERh
biBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBQYXJ0IDIgb2Y6IENoYW5n
ZSBHZW5lcmljQ2FsbGJhY2s8PiBmdW5jdGlvbiBwYXJhbWV0ZXJzIGludG8gc3RkOjpmdW5jdGlv
bjw+CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJU3RyaW5nLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSVN0cmluZy5oCShyZXZpc2lvbiAxNzAwNDApCisr
KyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJU3RyaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1N0cmluZ1JlZi5oPgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL09wYXF1ZUpTU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ1ZpZXcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KICNpbmNsdWRl
IDx3dGYvdW5pY29kZS9VVEY4Lmg+CkBAIC02MSw2ICs2MiwxMiBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIH5TdHJpbmcoKQogICAgIHsKKyAgICAgICAgaWYgKG1fc3RyaW5nLmlzU2FmZVRvU2Vu
ZFRvQW5vdGhlclRocmVhZCgpIHx8IFJ1bkxvb3A6OmlzTWFpbigpKQorICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgIGF1dG8gc3RyaW5nID0gc3RkOjptb3ZlKG1fc3RyaW5nKTsKKyAgICAg
ICAgLy8gQ2FwdHVyZSB0aGUgc3RyaW5nIHNvIHRoYXQgaXQgZ2V0cyBkZXN0cm95ZWQgb24gdGhl
IG1haW4gdGhyZWFkLgorICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3N0cmluZ10o
KSB7IH0pOwogICAgIH0KIAogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gbV9zdHJp
bmcuaXNOdWxsKCk7IH0KQEAgLTk5LDcgKzEwNiwxOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBlcXVh
bFRvVVRGOFN0cmluZyhjb25zdCBjaGFyKiBvdGhlcikgeyByZXR1cm4gbV9zdHJpbmcgPT0gV1RG
OjpTdHJpbmc6OmZyb21VVEY4KG90aGVyKTsgfQogICAgIGJvb2wgZXF1YWxUb1VURjhTdHJpbmdJ
Z25vcmluZ0Nhc2UoY29uc3QgY2hhciogb3RoZXIpIHsgcmV0dXJuIGVxdWFsSWdub3JpbmdDYXNl
KG1fc3RyaW5nLCBvdGhlcik7IH0KIAotICAgIGNvbnN0IFdURjo6U3RyaW5nJiBzdHJpbmcoKSBj
b25zdCB7IHJldHVybiBtX3N0cmluZzsgfQorICAgIGNvbnN0IFdURjo6U3RyaW5nJiBzdHJpbmco
KSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1fc3RyaW5nLmlzU2FmZVRvU2VuZFRvQW5vdGhl
clRocmVhZCgpIHx8IFJ1bkxvb3A6OmlzTWFpbigpKQorICAgICAgICAgICAgcmV0dXJuIG1fc3Ry
aW5nOworCisgICAgICAgIFdURjo6U3RyaW5nIHN0cmluZyA9IG1fc3RyaW5nLmlzb2xhdGVkQ29w
eSgpOworICAgICAgICBtX3N0cmluZy5zd2FwKHN0cmluZyk7CisgICAgICAgIC8vIENhcHR1cmUg
dGhlIHN0cmluZyBzbyB0aGF0IGl0IGdldHMgZGVzdHJveWVkIG9uIHRoZSBtYWluIHRocmVhZC4K
KyAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtzdHJpbmddKCkgeyB9KTsKKworICAg
ICAgICByZXR1cm4gbV9zdHJpbmc7CisgICAgfQogCiAgICAgSlNTdHJpbmdSZWYgY3JlYXRlSlNT
dHJpbmcoKSBjb25zdAogICAgIHsKQEAgLTExNCwxMSArMTMyLDExIEBAIHByaXZhdGU6CiAgICAg
fQogCiAgICAgU3RyaW5nKGNvbnN0IFdURjo6U3RyaW5nJiBzdHJpbmcpCi0gICAgICAgIDogbV9z
dHJpbmcoIXN0cmluZy5pbXBsKCkgPyBXVEY6OlN0cmluZyhTdHJpbmdJbXBsOjplbXB0eSgpKSA6
IHN0cmluZykKKyAgICAgICAgOiBtX3N0cmluZyghc3RyaW5nLmltcGwoKSA/IFdURjo6U3RyaW5n
KFN0cmluZ0ltcGw6OmVtcHR5KCkpIDogKFJ1bkxvb3A6OmlzTWFpbigpID8gc3RyaW5nIDogc3Ry
aW5nLmlzb2xhdGVkQ29weSgpKSkKICAgICB7CiAgICAgfQogCi0gICAgV1RGOjpTdHJpbmcgbV9z
dHJpbmc7CisgICAgbXV0YWJsZSBXVEY6OlN0cmluZyBtX3N0cmluZzsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL2NmL1dLU3Ry
aW5nQ0YubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL2NmL1dL
U3RyaW5nQ0YubW0JKHJldmlzaW9uIDE3MDA0MCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9jZi9XS1N0cmluZ0NGLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw5IEBAIENG
U3RyaW5nUmVmIFdLU3RyaW5nQ29weUNGU3RyaW5nKENGQWxsb2MKIHsKICAgICBBU1NFUlQoIXRv
SW1wbChzdHJpbmdSZWYpLT5zdHJpbmcoKS5pc051bGwoKSk7CiAKKyNpZiBXS19BUElfRU5BQkxF
RAorICAgIHJldHVybiAoQ0ZTdHJpbmdSZWYpW3dyYXBwZXIoKnRvSW1wbChzdHJpbmdSZWYpKSBj
b3B5XTsKKyNlbmRpZgogICAgIC8vIE5PVEU6IFRoaXMgZG9lcyBub3QgdXNlIFN0cmluZ0ltcGw6
OmNyZWF0ZUNGU3RyaW5nKCkgc2luY2UgdGhhdCBmdW5jdGlvbgogICAgIC8vIGV4cGVjdHMgdG8g
YmUgY2FsbGVkIG9uIHRoZSB0aHJlYWQgcnVubmluZyBXZWJDb3JlLgogICAgIGlmICh0b0ltcGwo
c3RyaW5nUmVmKS0+c3RyaW5nKCkuaXM4Qml0KCkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>