<?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>222441</bug_id>
          
          <creation_ts>2021-02-25 15:37:38 -0800</creation_ts>
          <short_desc>Streamline decoding NSURL so it doesn&apos;t require allocating NSData and autoreleasing</short_desc>
          <delta_ts>2021-03-05 12:41:52 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>
          <dependson>222145</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1733560</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-25 15:37:38 -0800</bug_when>
    <thetext>Streamline decoding NSURL so it doesn&apos;t require allocating NSData and autoreleasing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733565</commentid>
    <comment_count>1</comment_count>
      <attachid>421577</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-25 15:46:57 -0800</bug_when>
    <thetext>Created attachment 421577
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733574</commentid>
    <comment_count>2</comment_count>
      <attachid>421577</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-02-25 15:56:11 -0800</bug_when>
    <thetext>Comment on attachment 421577
Patch

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

&gt; Source/WTF/wtf/cocoa/NSURLExtras.mm:153
&gt; +NSURL *URLWithData(const void* bytes, size_t length, NSURL *baseURL)

What is the reason behind using const void* here rather than const uint8_t*? With string code, I like to be more specific if I can to avoid people accidentally passing in UChar* to a function like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733577</commentid>
    <comment_count>3</comment_count>
      <attachid>421577</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-25 16:04:11 -0800</bug_when>
    <thetext>Comment on attachment 421577
Patch

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

&gt;&gt; Source/WTF/wtf/cocoa/NSURLExtras.mm:153
&gt;&gt; +NSURL *URLWithData(const void* bytes, size_t length, NSURL *baseURL)
&gt; 
&gt; What is the reason behind using const void* here rather than const uint8_t*? With string code, I like to be more specific if I can to avoid people accidentally passing in UChar* to a function like this.

I was trying to side step the three different types for bytes and was a little bit influenced by the types in NSData methods. But your argument seems compelling, and CFData functions take uint8_t*. I will go with uint8_t instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733578</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-25 16:08:13 -0800</bug_when>
    <thetext>Looks like Brent’s patch had to be rolled out. I’ll have to wait to land this until it’s landed again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736064</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-04 15:38:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/75061347&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736480</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-05 12:41:52 -0800</bug_when>
    <thetext>Not needed any more. Brent’s latest is using CFURLCreateAbsoluteURLWithBytes now, not URLWithData, so there’s no need for this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421577</attachid>
            <date>2021-02-25 15:46:57 -0800</date>
            <delta_ts>2021-02-25 15:56:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222441-20210225154656.patch</filename>
            <type>text/plain</type>
            <size>7395</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDA4M2M5ODIyNTM0ZWI5YjczNDI4ZDYw
NzNjYWI4NTcxODZhNDYxNTcuLjVhZGY1NWY4MDBmNzQwODI5Y2YzNzI0MDViNWM3NzI3NzZjYjI1
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDItMjUgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFN0cmVhbWxpbmUgZGVjb2RpbmcgTlNVUkwgc28gaXQgZG9l
c24ndCByZXF1aXJlIGFsbG9jYXRpbmcgTlNEYXRhIGFuZCBhdXRvcmVsZWFzaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI0NDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9jb2NvYS9OU1VS
TEV4dHJhcy5oOiBBZGRlZCBhbiBvdmVybG9hZCBvZiBVUkxXaXRoRGF0YSB0aGF0IHRha2VzIGEg
cG9pbnRlciBhbmQgbGVuZ3RoLgorICAgICAgICAqIHd0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbToK
KyAgICAgICAgKFdURjo6VVJMV2l0aERhdGEpOiBSZWZhY3RvcmVkIGludG8gdHdvIGZ1bmN0aW9u
cywgb25lIHRoYXQgdGFrZXMgTlNEYXRhIGFuZCBhbm90aGVyIHRoYXQKKyAgICAgICAgdGFrZXMg
YSBwb2ludGVyIGFuZCBsZW5ndGguCisKIDIwMjEtMDItMjUgIEJyZW50IEZ1bGdoYW0gIDxiZnVs
Z2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgU2VyaWFsaXplIE5TVVJMUmVxdWVzdCAocmF0aGVy
IHRoYW4gQ0ZVUkxSZXF1ZXN0KSBpbiBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjVjZmY2YWNkMzc3Y2NmZjNk
NjQ0YjczMzg5MmRhYWVlMmVkOGY4MS4uYWY3MGU1YzdhODEwNDg0ZmZkZGI3YzA5MTkxZTljZDQ0
ZGFkYzA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wMi0yNSAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgU3RyZWFtbGluZSBkZWNvZGluZyBOU1VS
TCBzbyBpdCBkb2Vzbid0IHJlcXVpcmUgYWxsb2NhdGluZyBOU0RhdGEgYW5kIGF1dG9yZWxlYXNp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjQ0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hh
cmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgICgtW1dLU2VjdXJlQ29k
aW5nVVJMV3JhcHBlciBpbml0V2l0aENvZGVyOl0pOiBQYXNzIHBvaW50ZXIgYW5kIGxlbmd0aCB0
byBVUkxXaXRoRGF0YQorICAgICAgICByYXRoZXIgdGhhbiBwYXNzaW5nIGFuIE5TRGF0YSBvYmpl
Y3QuCisKIDIwMjEtMDItMjUgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0dQVVBdIFNvbWUgbWVkaWEtY2FwYWJpbGl0aWVzIHRlc3RzIGZhaWwgd2hl
biBtZWRpYSBpbiBHUFUgUHJvY2VzcyBpcyBlbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5oIGIvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRy
YXMuaAppbmRleCBiYjZkY2MyMzI1MWI0ODhhYTE3NmNkNjMyNTAwOWU1MzI2MWY5NTIyLi42NjIz
YzQyNjMzYTAwMWZmYjdlY2MwZWNlMDY4MjNjODhiOWY4YjBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL05T
VVJMRXh0cmFzLmgKQEAgLTM5LDYgKzM5LDcgQEAgV1RGX0VYUE9SVF9QUklWQVRFIE5TU3RyaW5n
ICpkZWNvZGVIb3N0TmFtZShOU1N0cmluZyAqKTsgLy8gUmV0dXJuIHZhbHVlIG9mIG5pbAogV1RG
X0VYUE9SVF9QUklWQVRFIE5TU3RyaW5nICplbmNvZGVIb3N0TmFtZShOU1N0cmluZyAqKTsgLy8g
UmV0dXJuIHZhbHVlIG9mIG5pbCBtZWFucyBlcnJvci4KIFdURl9FWFBPUlRfUFJJVkFURSBOU1VS
TCAqVVJMQnlUcnVuY2F0aW5nT25lQ2hhcmFjdGVyQmVmb3JlQ29tcG9uZW50KE5TVVJMICosIENG
VVJMQ29tcG9uZW50VHlwZSk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgTlNVUkwgKlVSTFdpdGhEYXRh
KE5TRGF0YSAqLCBOU1VSTCAqYmFzZVVSTCk7CitXVEZfRVhQT1JUX1BSSVZBVEUgTlNVUkwgKlVS
TFdpdGhEYXRhKGNvbnN0IHZvaWQqLCBzaXplX3QsIE5TVVJMICpiYXNlVVJMKTsKIFdURl9FWFBP
UlRfUFJJVkFURSBOU0RhdGEgKm9yaWdpbmFsVVJMRGF0YShOU1VSTCAqKTsKIFdURl9FWFBPUlRf
UFJJVkFURSBOU0RhdGEgKmRhdGFGb3JVUkxDb21wb25lbnRUeXBlKE5TVVJMICosIENGVVJMQ29t
cG9uZW50VHlwZSk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgTlNVUkwgKlVSTFdpdGhVc2VyVHlwZWRT
dHJpbmdEZXByZWNhdGVkKE5TU3RyaW5nICosIE5TVVJMICpiYXNlVVJMKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL2NvY29hL05TVVJMRXh0cmFzLm1tIGIvU291cmNlL1dURi93dGYvY29j
b2EvTlNVUkxFeHRyYXMubW0KaW5kZXggYzAwNjQ2YmZiY2Y1MzNiNzAzZTMxZjJiMzc0MmZhMDNk
ZDBkNWExYS4uZTQ0OTdjMDMzNjJhYjAzM2NlYmFlY2Y2NDRiYTBiZmQ1YjE5NTg4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0KKysrIGIvU291cmNlL1dU
Ri93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0KQEAgLTE1MCwzOSArMTUwLDM4IEBAIHN0YXRpYyBO
U1VSTCAqVVJMQnlSZW1vdmluZ1Jlc291cmNlU3BlY2lmaWVyKE5TVVJMICpVUkwpCiAgICAgcmV0
dXJuIFVSTEJ5VHJ1bmNhdGluZ09uZUNoYXJhY3RlckJlZm9yZUNvbXBvbmVudChVUkwsIGtDRlVS
TENvbXBvbmVudFJlc291cmNlU3BlY2lmaWVyKTsKIH0KIAotTlNVUkwgKlVSTFdpdGhEYXRhKE5T
RGF0YSAqZGF0YSwgTlNVUkwgKmJhc2VVUkwpCitOU1VSTCAqVVJMV2l0aERhdGEoY29uc3Qgdm9p
ZCogYnl0ZXMsIHNpemVfdCBsZW5ndGgsIE5TVVJMICpiYXNlVVJMKQogewotICAgIGlmICghZGF0
YSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAKLSAgICBOU1VSTCAqcmVzdWx0ID0gbmlsOwot
ICAgIHNpemVfdCBsZW5ndGggPSBbZGF0YSBsZW5ndGhdOwotICAgIGlmIChsZW5ndGggPiAwKSB7
Ci0gICAgICAgIC8vIHdvcmsgYXJvdW5kIDxyZGFyOi8vNDQ3MDc3MT46IENGVVJMQ3JlYXRlQWJz
b2x1dGVVUkxXaXRoQnl0ZXMoLi4sIFRSVUUpIGRvZXNuJ3QgcmVtb3ZlIG5vbi1wYXRoIGNvbXBv
bmVudHMuCi0gICAgICAgIGJhc2VVUkwgPSBVUkxCeVJlbW92aW5nUmVzb3VyY2VTcGVjaWZpZXIo
YmFzZVVSTCk7Ci0gICAgICAgIAotICAgICAgICBjb25zdCBVSW50OCAqYnl0ZXMgPSBzdGF0aWNf
Y2FzdDxjb25zdCBVSW50OCo+KFtkYXRhIGJ5dGVzXSk7Ci0gICAgICAgIAotICAgICAgICAvLyBD
RlVSTENyZWF0ZUFic29sdXRlVVJMV2l0aEJ5dGVzIHdvdWxkIGNvbXBsYWluIHRvIGNvbnNvbGUg
aWYgd2UgcGFzc2VkIGEgcGF0aCB0byBpdC4KLSAgICAgICAgaWYgKGJ5dGVzWzBdID09ICcvJyAm
JiAhYmFzZVVSTCkgewotICAgICAgICAgICAgLy8gQSBVUkwgc3RhcnRpbmcgd2l0aCAnLy8nIGlz
IHZhbGlkIChhbiBhdXRob3JpdHkgd2l0aG91dCBhIHNjaGVtZSksIGFuZCBpcyBub3QgYSBmaWxl
IHBhdGguCi0gICAgICAgICAgICAvLyBTbyBvbmx5IHJldHVybiBlYXJseSBpZiB0aGUgY2hhcmFj
dGVyIGFmdGVyIHRoZSBzbGFzaCBpcyBzb21ldGhpbmcgZWxzZS4KLSAgICAgICAgICAgIGlmIChs
ZW5ndGggPT0gMSB8fCBieXRlc1sxXSAhPSAnLycpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG5p
bDsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgLy8gTk9URTogV2UgdXNlIFVURi04IGhl
cmUgc2luY2UgdGhpcyBlbmNvZGluZyBpcyB1c2VkIHdoZW4gY29tcHV0aW5nIHN0cmluZ3Mgd2hl
biByZXR1cm5pbmcgVVJMIGNvbXBvbmVudHMKLSAgICAgICAgLy8gKGUuZyBjYWxscyB0byBOU1VS
TCAtcGF0aCkuIEhvd2V2ZXIsIHRoaXMgZnVuY3Rpb24gaXMgbm90IHRvbGVyYW50IG9mIGlsbGVn
YWwgVVRGLTggc2VxdWVuY2VzLCB3aGljaAotICAgICAgICAvLyBjb3VsZCBlaXRoZXIgYmUgYSBt
YWxmb3JtZWQgc3RyaW5nIG9yIGJ5dGVzIGluIGEgZGlmZmVyZW50IGVuY29kaW5nLCBsaWtlIHNo
aWZ0LWppcywgc28gd2UgZmFsbCBiYWNrCi0gICAgICAgIC8vIG9udG8gdXNpbmcgSVNPIExhdGlu
IDEgaW4gdGhvc2UgY2FzZXMuCi0gICAgICAgIHJlc3VsdCA9IENGQnJpZGdpbmdSZWxlYXNlKENG
VVJMQ3JlYXRlQWJzb2x1dGVVUkxXaXRoQnl0ZXMobnVsbHB0ciwgYnl0ZXMsIGxlbmd0aCwga0NG
U3RyaW5nRW5jb2RpbmdVVEY4LCAoX19icmlkZ2UgQ0ZVUkxSZWYpYmFzZVVSTCwgWUVTKSk7Ci0g
ICAgICAgIGlmICghcmVzdWx0KQotICAgICAgICAgICAgcmVzdWx0ID0gQ0ZCcmlkZ2luZ1JlbGVh
c2UoQ0ZVUkxDcmVhdGVBYnNvbHV0ZVVSTFdpdGhCeXRlcyhudWxscHRyLCBieXRlcywgbGVuZ3Ro
LCBrQ0ZTdHJpbmdFbmNvZGluZ0lTT0xhdGluMSwgKF9fYnJpZGdlIENGVVJMUmVmKWJhc2VVUkws
IFlFUykpOwotICAgIH0gZWxzZQotICAgICAgICByZXN1bHQgPSBbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAIiJdOworICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gW05TVVJMIFVSTFdpdGhT
dHJpbmc6QCIiXTsKKyAgICBjb25zdCBVSW50OCogdHlwZWRCeXRlcyA9IHN0YXRpY19jYXN0PGNv
bnN0IFVJbnQ4Kj4oYnl0ZXMpOwogCi0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICAvLyBXb3JrIGFy
b3VuZCA8cmRhcjovLzQ0NzA3NzE+OiBDRlVSTENyZWF0ZUFic29sdXRlVVJMV2l0aEJ5dGVzKC4u
LCBUUlVFKSBkb2Vzbid0IHJlbW92ZSBub24tcGF0aCBjb21wb25lbnRzLgorICAgIGJhc2VVUkwg
PSBVUkxCeVJlbW92aW5nUmVzb3VyY2VTcGVjaWZpZXIoYmFzZVVSTCk7CisKKyAgICAvLyBDRlVS
TENyZWF0ZUFic29sdXRlVVJMV2l0aEJ5dGVzIHdvdWxkIGNvbXBsYWluIHRvIGNvbnNvbGUgaWYg
d2UgcGFzc2VkIGEgcGF0aCB0byBpdC4KKyAgICBpZiAodHlwZWRCeXRlc1swXSA9PSAnLycgJiYg
IWJhc2VVUkwpIHsKKyAgICAgICAgLy8gQSBVUkwgc3RhcnRpbmcgd2l0aCAnLy8nIGlzIHZhbGlk
IChhbiBhdXRob3JpdHkgd2l0aG91dCBhIHNjaGVtZSksIGFuZCBpcyBub3QgYSBmaWxlIHBhdGgu
CisgICAgICAgIC8vIFNvIG9ubHkgcmV0dXJuIGVhcmx5IGlmIHRoZSBjaGFyYWN0ZXIgYWZ0ZXIg
dGhlIHNsYXNoIGlzIHNvbWV0aGluZyBlbHNlLgorICAgICAgICBpZiAobGVuZ3RoID09IDEgfHwg
dHlwZWRCeXRlc1sxXSAhPSAnLycpCisgICAgICAgICAgICByZXR1cm4gbmlsOworICAgIH0KKwor
ICAgIC8vIE5PVEU6IFdlIHVzZSBVVEYtOCBoZXJlIHNpbmNlIHRoaXMgZW5jb2RpbmcgaXMgdXNl
ZCB3aGVuIGNvbXB1dGluZyBzdHJpbmdzIHdoZW4gcmV0dXJuaW5nIFVSTCBjb21wb25lbnRzCisg
ICAgLy8gKGUuZyBjYWxscyB0byBOU1VSTCAtcGF0aCkuIEhvd2V2ZXIsIHRoaXMgZnVuY3Rpb24g
aXMgbm90IHRvbGVyYW50IG9mIGlsbGVnYWwgVVRGLTggc2VxdWVuY2VzLCB3aGljaAorICAgIC8v
IGNvdWxkIGVpdGhlciBiZSBhIG1hbGZvcm1lZCBzdHJpbmcgb3IgYnl0ZXMgaW4gYSBkaWZmZXJl
bnQgZW5jb2RpbmcsIGxpa2Ugc2hpZnQtamlzLCBzbyB3ZSBmYWxsIGJhY2sKKyAgICAvLyBvbnRv
IHVzaW5nIElTTyBMYXRpbiAxIGluIHRob3NlIGNhc2VzLgorICAgIGF1dG8gcmVzdWx0ID0gYWRv
cHRDRihDRlVSTENyZWF0ZUFic29sdXRlVVJMV2l0aEJ5dGVzKG51bGxwdHIsIHR5cGVkQnl0ZXMs
IGxlbmd0aCwga0NGU3RyaW5nRW5jb2RpbmdVVEY4LCAoX19icmlkZ2UgQ0ZVUkxSZWYpYmFzZVVS
TCwgWUVTKSk7CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIHJlc3VsdCA9IGFkb3B0Q0YoQ0ZV
UkxDcmVhdGVBYnNvbHV0ZVVSTFdpdGhCeXRlcyhudWxscHRyLCB0eXBlZEJ5dGVzLCBsZW5ndGgs
IGtDRlN0cmluZ0VuY29kaW5nSVNPTGF0aW4xLCAoX19icmlkZ2UgQ0ZVUkxSZWYpYmFzZVVSTCwg
WUVTKSk7CisgICAgcmV0dXJuIHJlc3VsdC5icmlkZ2luZ0F1dG9yZWxlYXNlKCk7CiB9CisKK05T
VVJMICpVUkxXaXRoRGF0YShOU0RhdGEgKmRhdGEsIE5TVVJMICpiYXNlVVJMKQoreworICAgIHJl
dHVybiBkYXRhID8gVVJMV2l0aERhdGEoZGF0YS5ieXRlcywgZGF0YS5sZW5ndGgsIGJhc2VVUkwp
IDogbmlsOworfQorCiBzdGF0aWMgTlNEYXRhICpkYXRhV2l0aFVzZXJUeXBlZFN0cmluZyhOU1N0
cmluZyAqc3RyaW5nKQogewogICAgIE5TRGF0YSAqdXNlclR5cGVkRGF0YSA9IFtzdHJpbmcgZGF0
YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KaW5kZXggODY4NWRiZjg2ZTFk
MGZjY2QwYWQzOThlYjdmODAxMTlmMmQ0YzNmMi4uZTZlZjA3NDYyZjg2ODkzMzYxOTk0ODhjNWEy
NDhkZDMyZTg1NWI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJn
dW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1
bWVudENvZGVyc0NvY29hLm1tCkBAIC0xMzYsNyArMTM2LDcgQEAgLSAoX051bGxhYmxlIGluc3Rh
bmNldHlwZSlpbml0V2l0aENvZGVyOihOU0NvZGVyICopY29kZXIKIAogICAgIE5TVUludGVnZXIg
bGVuZ3RoOwogICAgIGlmIChhdXRvIGJ5dGVzID0gKHVpbnQ4X3QgKilbY29kZXIgZGVjb2RlQnl0
ZXNXaXRoUmV0dXJuZWRMZW5ndGg6Jmxlbmd0aF0pIHsKLSAgICAgICAgbV93cmFwcGVkVVJMID0g
V1RGOjpVUkxXaXRoRGF0YShbTlNEYXRhIGRhdGFXaXRoQnl0ZXNOb0NvcHk6Ynl0ZXMgbGVuZ3Ro
Omxlbmd0aCBmcmVlV2hlbkRvbmU6Tk9dLCBiYXNlVVJMLmdldCgpKTsKKyAgICAgICAgbV93cmFw
cGVkVVJMID0gV1RGOjpVUkxXaXRoRGF0YShieXRlcywgbGVuZ3RoLCBiYXNlVVJMLmdldCgpKTsK
ICAgICAgICAgaWYgKCFtX3dyYXBwZWRVUkwpCiAgICAgICAgICAgICBMT0dfRVJST1IoIkZhaWxl
ZCB0byBkZWNvZGUgTlNVUkwgZHVlIHRvIGludmFsaWQgZW5jb2Rpbmcgb2YgbGVuZ3RoICVkLiBT
dWJzdGl0dXRpbmcgYSBibGFuayBVUkwiLCBsZW5ndGgpOwogICAgIH0K
</data>
<flag name="review"
          id="440451"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>