<?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>63276</bug_id>
          
          <creation_ts>2011-06-23 13:09:32 -0700</creation_ts>
          <short_desc>Add NSURLRequest wrapper in ResourceRequest when USE(CFNETWORK) is enabled</short_desc>
          <delta_ts>2011-07-11 21:55:19 -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>Platform</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>
          
          <blocked>51836</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Pratik Solanki">psolanki</reporter>
          <assigned_to name="Pratik Solanki">psolanki</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>jberlin</cc>
    
    <cc>koivisto</cc>
    
    <cc>psolanki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>426391</commentid>
    <comment_count>0</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2011-06-23 13:09:32 -0700</bug_when>
    <thetext>This is part of the move to the CFNetwork based loader on Mac - bug 51836. In order to send back NSURLRequest objects to WebKit on Mac, we need to have a wrapper NSURLRequest in ResourceRequest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426407</commentid>
    <comment_count>1</comment_count>
      <attachid>98388</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2011-06-23 13:21:26 -0700</bug_when>
    <thetext>Created attachment 98388
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428995</commentid>
    <comment_count>2</comment_count>
      <attachid>98942</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2011-06-28 11:05:39 -0700</bug_when>
    <thetext>Created attachment 98942
Patch v2 - adds null check in updateNSURLRequest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429191</commentid>
    <comment_count>3</comment_count>
      <attachid>98942</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-06-28 15:27:14 -0700</bug_when>
    <thetext>Comment on attachment 98942
Patch v2 - adds null check in updateNSURLRequest

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

Unofficial r=me!

&gt; Source/WebCore/platform/network/cf/ResourceRequest.h:124
&gt; +        mutable RetainPtr&lt;CFURLRequestRef&gt; m_cfRequest;

Why does this need to be mutable?

&gt; Source/WebCore/platform/network/cf/ResourceRequest.h:127
&gt; +        mutable RetainPtr&lt;NSURLRequest&gt; m_nsRequest;

Same question here

&gt; Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp:77
&gt; +#if PLATFORM(MAC)

This would be cleaner as a #elif PLATFORM(MAC)

&gt; Source/WebCore/platform/network/mac/ResourceRequestMac.mm:69
&gt; +        m_nsRequest.adoptNS([[NSURLRequest alloc] _initWithCFURLRequest:m_cfRequest.get()]);

It is unfortunate that we have to allocate a new NSURLRequest every time we update it, since doUpdatePlatformRequest is called quite often. We are already doing something similar in ResourceRequestCFNet.cpp. However, I don&apos;t think that issue needs to be addressed in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429234</commentid>
    <comment_count>4</comment_count>
      <attachid>98942</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2011-06-28 16:18:35 -0700</bug_when>
    <thetext>Comment on attachment 98942
Patch v2 - adds null check in updateNSURLRequest

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

&gt;&gt; Source/WebCore/platform/network/cf/ResourceRequest.h:124
&gt;&gt; +        mutable RetainPtr&lt;CFURLRequestRef&gt; m_cfRequest;
&gt; 
&gt; Why does this need to be mutable?

Hmm. doesn&apos;t look like its needed anymore. I&apos;ll remove it.

&gt;&gt; Source/WebCore/platform/network/cf/ResourceRequest.h:127
&gt;&gt; +        mutable RetainPtr&lt;NSURLRequest&gt; m_nsRequest;
&gt; 
&gt; Same question here

I&apos;ll remove the mutable here as well.

&gt;&gt; Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp:77
&gt;&gt; +#if PLATFORM(MAC)
&gt; 
&gt; This would be cleaner as a #elif PLATFORM(MAC)

ok

&gt;&gt; Source/WebCore/platform/network/mac/ResourceRequestMac.mm:69
&gt;&gt; +        m_nsRequest.adoptNS([[NSURLRequest alloc] _initWithCFURLRequest:m_cfRequest.get()]);
&gt; 
&gt; It is unfortunate that we have to allocate a new NSURLRequest every time we update it, since doUpdatePlatformRequest is called quite often. We are already doing something similar in ResourceRequestCFNet.cpp. However, I don&apos;t think that issue needs to be addressed in this patch.

Well, we create a CFURLRequestRef in doUpdatePlatformRequest() so we have to create an NSURLRequest as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435027</commentid>
    <comment_count>5</comment_count>
      <attachid>98942</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-07-11 11:15:35 -0700</bug_when>
    <thetext>Comment on attachment 98942
Patch v2 - adds null check in updateNSURLRequest

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

r=me

&gt; Source/WebCore/platform/network/cf/ResourceRequest.h:79
&gt; +        void updateNSURLRequest() { }

In one part of the patch, the call to updateNSURLRequest() is protected by #if PLATFORM(MAC)/#endif, and in another place it&apos;s not.

I don&apos;t think this method should be defined, then just add  #if PLATFORM(MAC)/#endif where it&apos;s called (which is one more place below).

&gt; Source/WebCore/platform/network/cf/ResourceRequest.h:86
&gt; +            updateNSURLRequest();

Add #if PLATFORM(MAC)/#endif here.

&gt;&gt;&gt; Source/WebCore/platform/network/mac/ResourceRequestMac.mm:69
&gt;&gt;&gt; +        m_nsRequest.adoptNS([[NSURLRequest alloc] _initWithCFURLRequest:m_cfRequest.get()]);
&gt;&gt; 
&gt;&gt; It is unfortunate that we have to allocate a new NSURLRequest every time we update it, since doUpdatePlatformRequest is called quite often. We are already doing something similar in ResourceRequestCFNet.cpp. However, I don&apos;t think that issue needs to be addressed in this patch.
&gt; 
&gt; Well, we create a CFURLRequestRef in doUpdatePlatformRequest() so we have to create an NSURLRequest as well.

Will the NSURLRequest go away completely if PLATFORM(MAC) switches to USE(CFNETWORK)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435037</commentid>
    <comment_count>6</comment_count>
      <attachid>98942</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2011-07-11 11:25:24 -0700</bug_when>
    <thetext>Comment on attachment 98942
Patch v2 - adds null check in updateNSURLRequest

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

&gt;&gt; Source/WebCore/platform/network/cf/ResourceRequest.h:79
&gt;&gt; +        void updateNSURLRequest() { }
&gt; 
&gt; In one part of the patch, the call to updateNSURLRequest() is protected by #if PLATFORM(MAC)/#endif, and in another place it&apos;s not.
&gt; 
&gt; I don&apos;t think this method should be defined, then just add  #if PLATFORM(MAC)/#endif where it&apos;s called (which is one more place below).

Ok.

&gt;&gt;&gt;&gt; Source/WebCore/platform/network/mac/ResourceRequestMac.mm:69
&gt;&gt;&gt;&gt; +        m_nsRequest.adoptNS([[NSURLRequest alloc] _initWithCFURLRequest:m_cfRequest.get()]);
&gt;&gt;&gt; 
&gt;&gt;&gt; It is unfortunate that we have to allocate a new NSURLRequest every time we update it, since doUpdatePlatformRequest is called quite often. We are already doing something similar in ResourceRequestCFNet.cpp. However, I don&apos;t think that issue needs to be addressed in this patch.
&gt;&gt; 
&gt;&gt; Well, we create a CFURLRequestRef in doUpdatePlatformRequest() so we have to create an NSURLRequest as well.
&gt; 
&gt; Will the NSURLRequest go away completely if PLATFORM(MAC) switches to USE(CFNETWORK)?

No, WebKit needs the NSURLRequest on Mac. The way these patches work is that they expose the obj-c classes to WebKit while using CF code for the actual networking in WebCore. So we&apos;ll need NSURLRequest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435477</commentid>
    <comment_count>7</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2011-07-11 21:55:19 -0700</bug_when>
    <thetext>Committed r90807: &lt;http://trac.webkit.org/changeset/90807&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98388</attachid>
            <date>2011-06-23 13:21:26 -0700</date>
            <delta_ts>2011-06-28 11:05:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63276-20110623132125.patch</filename>
            <type>text/plain</type>
            <size>8430</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODk1MzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwY2I0M2MyNTA1MGQ2OWVi
ZGJkZTYzMzVlZTJhNmI0YTk0YzA1YzllLi4zZDAxZGRkYzQzYTc4Nzg4Y2FkNGZkMTFjMzBkODI2
NWViMTIxMmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDYtMjMgIFByYXRp
ayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBOU1VSTFJlcXVlc3Qgd3JhcHBlciBpbiBSZXNv
dXJjZVJlcXVlc3Qgd2hlbiBVU0UoQ0ZORVRXT1JLKSBpcyBlbmFibGVkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzI3NgorCisgICAgICAgIFdoZW4g
VVNFKENGTkVUV09SSykgaXMgZW5hYmxlZCBvbiBNYWMsIGtlZXAgYW4gTlNVUkxSZXF1ZXN0IG9i
amVjdCBhbG9uZyB3aXRoIHRoZQorICAgICAgICBDRlVSTFJlcXVlc3RSZWYgc28gdGhhdCBXZWJL
aXQgY2FuIGNvbnRpbnVlIHVzaW5nIHRoZSBOU1VSTFJlcXVlc3QuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIGJlY2F1c2Ugbm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkgYW5kIG9wdGlvbiBpcyBu
b3QgZW5hYmxlZCBvbiBNYWMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlUmVxdWVzdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVO
U1VSTFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpSZXNvdXJj
ZVJlcXVlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0
Q0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZmluZENGVVJMUmVxdWVzdFNldENvbnRlbnRE
aXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheUZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OmZpbmRDRlVSTFJlcXVlc3RDb3B5Q29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFj
a0FycmF5RnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1Vw
ZGF0ZVBsYXRmb3JtUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6
OmFwcGx5V2ViQXJjaGl2ZUhhY2tGb3JNYWlsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3Q6Om5zVVJMUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6
OlJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnVw
ZGF0ZU5TVVJMUmVxdWVzdCk6CisKIDIwMTEtMDYtMjIgIFByYXRpayBTb2xhbmtpICA8cHNvbGFu
a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0LmgK
aW5kZXggODMwNzk3YTQ5OGJlMjYyMmIzYzJiMjhjNDRhOGY5YTI3NzFlYTkwYi4uOTRjMmVkMDA2
ODkxMTU5MTEzYTk2YjhmMTM3ZjhkOGMxOTA1NjE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oCkBAIC0zMiwxMyArMzIs
MTMgQEAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaWYgVVNFKENGTkVUV09SSykKIHR5
cGVkZWYgY29uc3Qgc3RydWN0IF9DRlVSTFJlcXVlc3QqIENGVVJMUmVxdWVzdFJlZjsKLSNlbHNl
CisjZW5kaWYKKwogI2lmZGVmIF9fT0JKQ19fCiBAY2xhc3MgTlNVUkxSZXF1ZXN0OwogI2Vsc2UK
IGNsYXNzIE5TVVJMUmVxdWVzdDsKICNlbmRpZgotI2VuZGlmCiAKICNpZiBVU0UoQ0ZVUkxTVE9S
QUdFU0VTU0lPTlMpICYmIChkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkgfHwgZGVm
aW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSkKIHR5cGVkZWYgc3RydWN0IF9fQ0ZVUkxTdG9yYWdl
U2Vzc2lvbiogQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZjsKQEAgLTcyLDE4ICs3MiwzMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIH0KICAgICAgICAgCiAjaWYgVVNFKENGTkVUV09SSykK
KyNpZiBQTEFURk9STShNQUMpCisgICAgICAgIFJlc291cmNlUmVxdWVzdChOU1VSTFJlcXVlc3Qg
Kik7CisgICAgICAgIHZvaWQgdXBkYXRlTlNVUkxSZXF1ZXN0KCk7CisjZWxzZQorICAgICAgICB2
b2lkIHVwZGF0ZU5TVVJMUmVxdWVzdCgpIHsgfQorI2VuZGlmCisKICAgICAgICAgUmVzb3VyY2VS
ZXF1ZXN0KENGVVJMUmVxdWVzdFJlZiBjZlJlcXVlc3QpCiAgICAgICAgICAgICA6IFJlc291cmNl
UmVxdWVzdEJhc2UoKQotICAgICAgICAgICAgLCBtX2NmUmVxdWVzdChjZlJlcXVlc3QpIHsgfQor
ICAgICAgICAgICAgLCBtX2NmUmVxdWVzdChjZlJlcXVlc3QpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHVwZGF0ZU5TVVJMUmVxdWVzdCgpOworICAgICAgICB9CisKIAogICAgICAgICBDRlVSTFJl
cXVlc3RSZWYgY2ZVUkxSZXF1ZXN0KCkgY29uc3Q7CiAjZWxzZQotICAgICAgICBSZXNvdXJjZVJl
cXVlc3QoTlNVUkxSZXF1ZXN0KiBuc1JlcXVlc3QpCisgICAgICAgIFJlc291cmNlUmVxdWVzdChO
U1VSTFJlcXVlc3QgKm5zUmVxdWVzdCkKICAgICAgICAgICAgIDogUmVzb3VyY2VSZXF1ZXN0QmFz
ZSgpCiAgICAgICAgICAgICAsIG1fbnNSZXF1ZXN0KG5zUmVxdWVzdCkgeyB9CiAKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICB2b2lkIGFwcGx5V2ViQXJjaGl2ZUhhY2tGb3JN
YWlsKCk7Ci0gICAgICAgIE5TVVJMUmVxdWVzdCogbnNVUkxSZXF1ZXN0KCkgY29uc3Q7CisgICAg
ICAgIE5TVVJMUmVxdWVzdCAqbnNVUkxSZXF1ZXN0KCkgY29uc3Q7CiAjZW5kaWYKIAogI2lmIFVT
RShDRlVSTFNUT1JBR0VTRVNTSU9OUykKQEAgLTEwNyw5ICsxMjEsMTAgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB2b2lkIGRvUGxhdGZvcm1BZG9wdChQYXNzT3duUHRyPENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4pIHsgfQogCiAjaWYgVVNFKENGTkVUV09SSykKLSAgICAg
ICAgUmV0YWluUHRyPENGVVJMUmVxdWVzdFJlZj4gbV9jZlJlcXVlc3Q7Ci0jZWxzZQotICAgICAg
ICBSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiBtX25zUmVxdWVzdDsKKyAgICAgICAgbXV0YWJsZSBS
ZXRhaW5QdHI8Q0ZVUkxSZXF1ZXN0UmVmPiBtX2NmUmVxdWVzdDsKKyNlbmRpZgorI2lmIFBMQVRG
T1JNKE1BQykKKyAgICAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiBtX25zUmVx
dWVzdDsKICNlbmRpZgogCiAgICAgICAgIHN0YXRpYyBib29sIHNfaHR0cFBpcGVsaW5pbmdFbmFi
bGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZVJlcXVlc3RDRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nm
L1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcAppbmRleCBlOTMwZThmZDllODNiNjU1ODQxMDcyYTc1
MTQyNDBlMzg1Y2ZjNzAzLi43OWQ4MjY5NjZkMDRjMDZlZmMwZTIyZjRkY2M5Nzk0NzFkNjEwNmUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNl
UmVxdWVzdENGTmV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nm
L1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcApAQCAtMjksMTQgKzI5LDE4IEBACiAjaW5jbHVkZSAi
UmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKIAorI2lmIFVT
RShDRk5FVFdPUkspCisjaW5jbHVkZSAiRm9ybURhdGFTdHJlYW1DRk5ldC5oIgorI2luY2x1ZGUg
PENGTmV0d29yay9DRlVSTFJlcXVlc3RQcml2Lmg+CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1B
QykKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRQcmlvcml0eS5oIgogI2luY2x1ZGUgIldlYkNvcmVT
eXN0ZW1JbnRlcmZhY2UuaCIKKyNpbmNsdWRlIDxkbGZjbi5oPgogI2VuZGlmCiAKLSNpZiBVU0Uo
Q0ZORVRXT1JLKQotI2luY2x1ZGUgIkZvcm1EYXRhU3RyZWFtQ0ZOZXQuaCIKLSNpbmNsdWRlIDxD
Rk5ldHdvcmsvQ0ZVUkxSZXF1ZXN0UHJpdi5oPgorI2lmIFBMQVRGT1JNKFdJTikKICNpbmNsdWRl
IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UvV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjZW5kaWYK
IApAQCAtNDksNiArNTMsNyBAQCBib29sIFJlc291cmNlUmVxdWVzdDo6c19odHRwUGlwZWxpbmlu
Z0VuYWJsZWQgPSBmYWxzZTsKIHR5cGVkZWYgdm9pZCAoKkNGVVJMUmVxdWVzdFNldENvbnRlbnRE
aXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheUZ1bmN0aW9uKShDRk11dGFibGVVUkxSZXF1
ZXN0UmVmLCBDRkFycmF5UmVmKTsKIHR5cGVkZWYgQ0ZBcnJheVJlZiAoKkNGVVJMUmVxdWVzdENv
cHlDb250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXlGdW5jdGlvbikoQ0ZVUkxS
ZXF1ZXN0UmVmKTsKIAorI2lmIFBMQVRGT1JNKFdJTikKIHN0YXRpYyBITU9EVUxFIGZpbmRDRk5l
dHdvcmtNb2R1bGUoKQogewogI2lmbmRlZiBERUJVR19BTEwKQEAgLTY3LDYgKzcyLDE5IEBAIHN0
YXRpYyBDRlVSTFJlcXVlc3RDb3B5Q29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0Fy
cmF5RnVuY3Rpb24gZmluZENGVVJMCiB7CiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZV
UkxSZXF1ZXN0Q29weUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheUZ1bmN0
aW9uPihHZXRQcm9jQWRkcmVzcyhmaW5kQ0ZOZXR3b3JrTW9kdWxlKCksICJfQ0ZVUkxSZXF1ZXN0
Q29weUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheSIpKTsKIH0KKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKQorc3RhdGljIENGVVJMUmVxdWVzdFNldENvbnRlbnREaXNw
b3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheUZ1bmN0aW9uIGZpbmRDRlVSTFJlcXVlc3RTZXRD
b250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXlGdW5jdGlvbigpCit7CisgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZVUkxSZXF1ZXN0U2V0Q29udGVudERpc3Bvc2l0aW9u
RW5jb2RpbmdGYWxsYmFja0FycmF5RnVuY3Rpb24+KGRsc3ltKFJUTERfREVGQVVMVCwgIl9DRlVS
TFJlcXVlc3RTZXRDb250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXkiKSk7Cit9
CisKK3N0YXRpYyBDRlVSTFJlcXVlc3RDb3B5Q29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxs
YmFja0FycmF5RnVuY3Rpb24gZmluZENGVVJMUmVxdWVzdENvcHlDb250ZW50RGlzcG9zaXRpb25F
bmNvZGluZ0ZhbGxiYWNrQXJyYXlGdW5jdGlvbigpCit7CisgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8Q0ZVUkxSZXF1ZXN0Q29weUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tB
cnJheUZ1bmN0aW9uPihkbHN5bShSVExEX0RFRkFVTFQsICJfQ0ZVUkxSZXF1ZXN0Q29weUNvbnRl
bnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheSIpKTsKK30KKyNlbmRpZgogCiBzdGF0
aWMgdm9pZCBzZXRDb250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXkoQ0ZNdXRh
YmxlVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBDRkFycmF5UmVmIGZhbGxiYWNrQXJyYXkpCiB7CkBA
IC0xNTksNiArMTc3LDkgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1S
ZXF1ZXN0KCkKICAgICB9CiAKICAgICBtX2NmUmVxdWVzdC5hZG9wdENGKGNmUmVxdWVzdCk7Cisj
aWYgUExBVEZPUk0oTUFDKQorICAgIHVwZGF0ZU5TVVJMUmVxdWVzdCgpOworI2VuZGlmCiB9CiAK
IHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVJlc291cmNlUmVxdWVzdCgpCkBAIC0yMTgs
NiArMjM5LDE0IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0OjpzZXRTdG9yYWdlU2Vzc2lvbihDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmIHN0b3JhZ2VTZXNzaW9uKQogCiAjZW5kaWYKIAorI2lmIFBMQVRG
T1JNKE1BQykKK3ZvaWQgUmVzb3VyY2VSZXF1ZXN0OjphcHBseVdlYkFyY2hpdmVIYWNrRm9yTWFp
bCgpCit7CisgICAgLy8gSGFjayBiZWNhdXNlIE1haWwgY2hlY2tzIGZvciB0aGlzIHByb3BlcnR5
IHRvIGRldGVjdCBkYXRhIC8gYXJjaGl2ZSBsb2FkcworICAgIF9DRlVSTFJlcXVlc3RTZXRQcm90
b2NvbFByb3BlcnR5KGNmVVJMUmVxdWVzdCgpLCBDRlNUUigiV2ViRGF0YVJlcXVlc3QiKSwgQ0ZT
VFIoIiIpKTsKK30KKyNlbmRpZgorCiAjZW5kaWYgLy8gVVNFKENGTkVUV09SSykKIAogYm9vbCBS
ZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0K
aW5kZXggODVjN2Y3YzQwZTk0MDVhYjRkMmVhODVlZGE0ZGMxNTA2MmJlNjI5NC4uZWI0YTM3ZTBk
NTk2ZmRhNzY5YjBhYmY1NGZjMmNmYjA4NzMwZWVmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbQpAQCAt
MjYsMTAgKzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiUmVzb3VyY2VSZXF1
ZXN0LmgiCiAKLSNpZiAhVVNFKENGTkVUV09SSykKLQotI2ltcG9ydCAiV2ViQ29yZVN5c3RlbUlu
dGVyZmFjZS5oIgotCiAjaW1wb3J0ICJGb3JtRGF0YVN0cmVhbU1hYy5oIgogI2ltcG9ydCAiUmVz
b3VyY2VSZXF1ZXN0Q0ZOZXQuaCIKICNpbXBvcnQgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5o
IgpAQCAtNDIsNiArMzgsNyBAQAogLSAoTlNBcnJheSAqKWNvbnRlbnREaXNwb3NpdGlvbkVuY29k
aW5nRmFsbGJhY2tBcnJheTsKICsgKHZvaWQpc2V0RGVmYXVsdFRpbWVvdXRJbnRlcnZhbDooTlNU
aW1lSW50ZXJ2YWwpc2Vjb25kczsKIC0gKENGVVJMUmVxdWVzdFJlZilfQ0ZVUkxSZXF1ZXN0Owor
LSAoaWQpX2luaXRXaXRoQ0ZVUkxSZXF1ZXN0OihDRlVSTFJlcXVlc3RSZWYpcmVxdWVzdDsKIEBl
bmQKIAogQGludGVyZmFjZSBOU011dGFibGVVUkxSZXF1ZXN0IChXZWJNdXRhYmxlTlNVUkxSZXF1
ZXN0RGV0YWlscykKQEAgLTUwLDEzICs0NywzMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LU5TVVJMUmVxdWVzdCogUmVzb3VyY2VSZXF1ZXN0Ojpuc1VSTFJlcXVlc3QoKSBjb25zdAorTlNV
UkxSZXF1ZXN0ICpSZXNvdXJjZVJlcXVlc3Q6Om5zVVJMUmVxdWVzdCgpIGNvbnN0CiB7IAogICAg
IHVwZGF0ZVBsYXRmb3JtUmVxdWVzdCgpOwogICAgIAogICAgIHJldHVybiBbW21fbnNSZXF1ZXN0
LmdldCgpIHJldGFpbl0gYXV0b3JlbGVhc2VdOyAKIH0KIAorI2lmIFVTRShDRk5FVFdPUkspCisK
K1Jlc291cmNlUmVxdWVzdDo6UmVzb3VyY2VSZXF1ZXN0KE5TVVJMUmVxdWVzdCAqbnNSZXF1ZXN0
KQorICAgIDogUmVzb3VyY2VSZXF1ZXN0QmFzZSgpCisgICAgLCBtX2NmUmVxdWVzdChbbnNSZXF1
ZXN0IF9DRlVSTFJlcXVlc3RdKQorICAgICwgbV9uc1JlcXVlc3QobnNSZXF1ZXN0KQoreworfQor
Cit2b2lkIFJlc291cmNlUmVxdWVzdDo6dXBkYXRlTlNVUkxSZXF1ZXN0KCkKK3sKKyAgICBBU1NF
UlQobV9jZlJlcXVlc3QpOworICAgIG1fbnNSZXF1ZXN0LmFkb3B0TlMoW1tOU1VSTFJlcXVlc3Qg
YWxsb2NdIF9pbml0V2l0aENGVVJMUmVxdWVzdDptX2NmUmVxdWVzdC5nZXQoKV0pOworfQorCisj
ZWxzZQorCiB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZVJlcXVlc3QoKQog
ewogICAgIG1fdXJsID0gW21fbnNSZXF1ZXN0LmdldCgpIFVSTF07CkBAIC0yMDIsNiArMjE2LDcg
QEAgYm9vbCBSZXNvdXJjZVJlcXVlc3Q6OnVzZVF1aWNrTG9va1Jlc291cmNlQ2FjaGluZ1F1aXJr
cygpCiAgICAgcmV0dXJuIGZsYWc7CiB9CiAKKyNlbmRpZiAvLyBVU0UoQ0ZORVRXT1JLKQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyAhVVNFKENGTkVUV09SSykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98942</attachid>
            <date>2011-06-28 11:05:39 -0700</date>
            <delta_ts>2011-07-11 11:25:24 -0700</delta_ts>
            <desc>Patch v2 - adds null check in updateNSURLRequest</desc>
            <filename>bug-63276-20110628110537.patch</filename>
            <type>text/plain</type>
            <size>8610</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODk4NjkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhODVhNTQ5NjVhNDRjZWVi
ODNkOTMyZGYzNTgzYTAwZGM3YmFkYmVhLi43YjhlODIxMjYwODg1NmUyZDNmNjBkNWM5YTM0OGRi
N2NlOWE0M2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDYtMjMgIFByYXRp
ayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBOU1VSTFJlcXVlc3Qgd3JhcHBlciBpbiBSZXNv
dXJjZVJlcXVlc3Qgd2hlbiBVU0UoQ0ZORVRXT1JLKSBpcyBlbmFibGVkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzI3NgorCisgICAgICAgIFdoZW4g
VVNFKENGTkVUV09SSykgaXMgZW5hYmxlZCBvbiBNYWMsIGtlZXAgYW4gTlNVUkxSZXF1ZXN0IG9i
amVjdCBhbG9uZyB3aXRoIHRoZQorICAgICAgICBDRlVSTFJlcXVlc3RSZWYgc28gdGhhdCBXZWJL
aXQgY2FuIGNvbnRpbnVlIHVzaW5nIHRoZSBOU1VSTFJlcXVlc3QuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIGJlY2F1c2Ugbm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkgYW5kIG9wdGlvbiBpcyBu
b3QgZW5hYmxlZCBvbiBNYWMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlUmVxdWVzdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVO
U1VSTFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpSZXNvdXJj
ZVJlcXVlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0
Q0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZmluZENGVVJMUmVxdWVzdFNldENvbnRlbnRE
aXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheUZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OmZpbmRDRlVSTFJlcXVlc3RDb3B5Q29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFj
a0FycmF5RnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1Vw
ZGF0ZVBsYXRmb3JtUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6
OmFwcGx5V2ViQXJjaGl2ZUhhY2tGb3JNYWlsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3Q6Om5zVVJMUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6
OlJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnVw
ZGF0ZU5TVVJMUmVxdWVzdCk6CisKIDIwMTEtMDYtMjcgIEpheSBDaXZlbGxpICA8amNpdmVsbGlA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5o
CmluZGV4IDgzMDc5N2E0OThiZTI2MjJiM2MyYjI4YzQ0YThmOWEyNzcxZWE5MGIuLjk0YzJlZDAw
Njg5MTE1OTExM2E5NmI4ZjEzN2Y4ZDhjMTkwNTYxN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaApAQCAtMzIsMTMgKzMy
LDEzIEBACiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2lmIFVTRShDRk5FVFdPUkspCiB0
eXBlZGVmIGNvbnN0IHN0cnVjdCBfQ0ZVUkxSZXF1ZXN0KiBDRlVSTFJlcXVlc3RSZWY7Ci0jZWxz
ZQorI2VuZGlmCisKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TVVJMUmVxdWVzdDsKICNlbHNl
CiBjbGFzcyBOU1VSTFJlcXVlc3Q7CiAjZW5kaWYKLSNlbmRpZgogCiAjaWYgVVNFKENGVVJMU1RP
UkFHRVNFU1NJT05TKSAmJiAoZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpIHx8IGRl
ZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkpCiB0eXBlZGVmIHN0cnVjdCBfX0NGVVJMU3RvcmFn
ZVNlc3Npb24qIENGVVJMU3RvcmFnZVNlc3Npb25SZWY7CkBAIC03MiwxOCArNzIsMzIgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB9CiAgICAgICAgIAogI2lmIFVTRShDRk5FVFdPUksp
CisjaWYgUExBVEZPUk0oTUFDKQorICAgICAgICBSZXNvdXJjZVJlcXVlc3QoTlNVUkxSZXF1ZXN0
ICopOworICAgICAgICB2b2lkIHVwZGF0ZU5TVVJMUmVxdWVzdCgpOworI2Vsc2UKKyAgICAgICAg
dm9pZCB1cGRhdGVOU1VSTFJlcXVlc3QoKSB7IH0KKyNlbmRpZgorCiAgICAgICAgIFJlc291cmNl
UmVxdWVzdChDRlVSTFJlcXVlc3RSZWYgY2ZSZXF1ZXN0KQogICAgICAgICAgICAgOiBSZXNvdXJj
ZVJlcXVlc3RCYXNlKCkKLSAgICAgICAgICAgICwgbV9jZlJlcXVlc3QoY2ZSZXF1ZXN0KSB7IH0K
KyAgICAgICAgICAgICwgbV9jZlJlcXVlc3QoY2ZSZXF1ZXN0KQorICAgICAgICB7CisgICAgICAg
ICAgICB1cGRhdGVOU1VSTFJlcXVlc3QoKTsKKyAgICAgICAgfQorCiAKICAgICAgICAgQ0ZVUkxS
ZXF1ZXN0UmVmIGNmVVJMUmVxdWVzdCgpIGNvbnN0OwogI2Vsc2UKLSAgICAgICAgUmVzb3VyY2VS
ZXF1ZXN0KE5TVVJMUmVxdWVzdCogbnNSZXF1ZXN0KQorICAgICAgICBSZXNvdXJjZVJlcXVlc3Qo
TlNVUkxSZXF1ZXN0ICpuc1JlcXVlc3QpCiAgICAgICAgICAgICA6IFJlc291cmNlUmVxdWVzdEJh
c2UoKQogICAgICAgICAgICAgLCBtX25zUmVxdWVzdChuc1JlcXVlc3QpIHsgfQogCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgdm9pZCBhcHBseVdlYkFyY2hpdmVIYWNrRm9y
TWFpbCgpOwotICAgICAgICBOU1VSTFJlcXVlc3QqIG5zVVJMUmVxdWVzdCgpIGNvbnN0OworICAg
ICAgICBOU1VSTFJlcXVlc3QgKm5zVVJMUmVxdWVzdCgpIGNvbnN0OwogI2VuZGlmCiAKICNpZiBV
U0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCkBAIC0xMDcsOSArMTIxLDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBkb1BsYXRmb3JtQWRvcHQoUGFzc093blB0cjxDcm9zc1Ro
cmVhZFJlc291cmNlUmVxdWVzdERhdGE+KSB7IH0KIAogI2lmIFVTRShDRk5FVFdPUkspCi0gICAg
ICAgIFJldGFpblB0cjxDRlVSTFJlcXVlc3RSZWY+IG1fY2ZSZXF1ZXN0OwotI2Vsc2UKLSAgICAg
ICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gbV9uc1JlcXVlc3Q7CisgICAgICAgIG11dGFibGUg
UmV0YWluUHRyPENGVVJMUmVxdWVzdFJlZj4gbV9jZlJlcXVlc3Q7CisjZW5kaWYKKyNpZiBQTEFU
Rk9STShNQUMpCisgICAgICAgIG11dGFibGUgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gbV9uc1Jl
cXVlc3Q7CiAjZW5kaWYKIAogICAgICAgICBzdGF0aWMgYm9vbCBzX2h0dHBQaXBlbGluaW5nRW5h
YmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVz
b3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHAKaW5kZXggZTkzMGU4ZmQ5ZTgzYjY1NTg0MTA3MmE3
NTE0MjQwZTM4NWNmYzcwMy4uNzlkODI2OTY2ZDA0YzA2ZWZjMGUyMmY0ZGNjOTc5NDcxZDYxMDZl
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJj
ZVJlcXVlc3RDRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHAKQEAgLTI5LDE0ICsyOSwxOCBAQAogI2luY2x1ZGUg
IlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAKKyNpZiBV
U0UoQ0ZORVRXT1JLKQorI2luY2x1ZGUgIkZvcm1EYXRhU3RyZWFtQ0ZOZXQuaCIKKyNpbmNsdWRl
IDxDRk5ldHdvcmsvQ0ZVUkxSZXF1ZXN0UHJpdi5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShN
QUMpCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3JpdHkuaCIKICNpbmNsdWRlICJXZWJDb3Jl
U3lzdGVtSW50ZXJmYWNlLmgiCisjaW5jbHVkZSA8ZGxmY24uaD4KICNlbmRpZgogCi0jaWYgVVNF
KENGTkVUV09SSykKLSNpbmNsdWRlICJGb3JtRGF0YVN0cmVhbUNGTmV0LmgiCi0jaW5jbHVkZSA8
Q0ZOZXR3b3JrL0NGVVJMUmVxdWVzdFByaXYuaD4KKyNpZiBQTEFURk9STShXSU4pCiAjaW5jbHVk
ZSA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlL1dlYktpdFN5c3RlbUludGVyZmFjZS5oPgogI2VuZGlm
CiAKQEAgLTQ5LDYgKzUzLDcgQEAgYm9vbCBSZXNvdXJjZVJlcXVlc3Q6OnNfaHR0cFBpcGVsaW5p
bmdFbmFibGVkID0gZmFsc2U7CiB0eXBlZGVmIHZvaWQgKCpDRlVSTFJlcXVlc3RTZXRDb250ZW50
RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXlGdW5jdGlvbikoQ0ZNdXRhYmxlVVJMUmVx
dWVzdFJlZiwgQ0ZBcnJheVJlZik7CiB0eXBlZGVmIENGQXJyYXlSZWYgKCpDRlVSTFJlcXVlc3RD
b3B5Q29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5RnVuY3Rpb24pKENGVVJM
UmVxdWVzdFJlZik7CiAKKyNpZiBQTEFURk9STShXSU4pCiBzdGF0aWMgSE1PRFVMRSBmaW5kQ0ZO
ZXR3b3JrTW9kdWxlKCkKIHsKICNpZm5kZWYgREVCVUdfQUxMCkBAIC02Nyw2ICs3MiwxOSBAQCBz
dGF0aWMgQ0ZVUkxSZXF1ZXN0Q29weUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tB
cnJheUZ1bmN0aW9uIGZpbmRDRlVSTAogewogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PENG
VVJMUmVxdWVzdENvcHlDb250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXlGdW5j
dGlvbj4oR2V0UHJvY0FkZHJlc3MoZmluZENGTmV0d29ya01vZHVsZSgpLCAiX0NGVVJMUmVxdWVz
dENvcHlDb250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXkiKSk7CiB9CisjZW5k
aWYKKworI2lmIFBMQVRGT1JNKE1BQykKK3N0YXRpYyBDRlVSTFJlcXVlc3RTZXRDb250ZW50RGlz
cG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXlGdW5jdGlvbiBmaW5kQ0ZVUkxSZXF1ZXN0U2V0
Q29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5RnVuY3Rpb24oKQoreworICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PENGVVJMUmVxdWVzdFNldENvbnRlbnREaXNwb3NpdGlv
bkVuY29kaW5nRmFsbGJhY2tBcnJheUZ1bmN0aW9uPihkbHN5bShSVExEX0RFRkFVTFQsICJfQ0ZV
UkxSZXF1ZXN0U2V0Q29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5IikpOwor
fQorCitzdGF0aWMgQ0ZVUkxSZXF1ZXN0Q29weUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFs
bGJhY2tBcnJheUZ1bmN0aW9uIGZpbmRDRlVSTFJlcXVlc3RDb3B5Q29udGVudERpc3Bvc2l0aW9u
RW5jb2RpbmdGYWxsYmFja0FycmF5RnVuY3Rpb24oKQoreworICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PENGVVJMUmVxdWVzdENvcHlDb250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNr
QXJyYXlGdW5jdGlvbj4oZGxzeW0oUlRMRF9ERUZBVUxULCAiX0NGVVJMUmVxdWVzdENvcHlDb250
ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXkiKSk7Cit9CisjZW5kaWYKIAogc3Rh
dGljIHZvaWQgc2V0Q29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5KENGTXV0
YWJsZVVSTFJlcXVlc3RSZWYgcmVxdWVzdCwgQ0ZBcnJheVJlZiBmYWxsYmFja0FycmF5KQogewpA
QCAtMTU5LDYgKzE3Nyw5IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVBsYXRmb3Jt
UmVxdWVzdCgpCiAgICAgfQogCiAgICAgbV9jZlJlcXVlc3QuYWRvcHRDRihjZlJlcXVlc3QpOwor
I2lmIFBMQVRGT1JNKE1BQykKKyAgICB1cGRhdGVOU1VSTFJlcXVlc3QoKTsKKyNlbmRpZgogfQog
CiB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZVJlcXVlc3QoKQpAQCAtMjE4
LDYgKzIzOSwxNCBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6c2V0U3RvcmFnZVNlc3Npb24oQ0ZV
UkxTdG9yYWdlU2Vzc2lvblJlZiBzdG9yYWdlU2Vzc2lvbikKIAogI2VuZGlmCiAKKyNpZiBQTEFU
Rk9STShNQUMpCit2b2lkIFJlc291cmNlUmVxdWVzdDo6YXBwbHlXZWJBcmNoaXZlSGFja0Zvck1h
aWwoKQoreworICAgIC8vIEhhY2sgYmVjYXVzZSBNYWlsIGNoZWNrcyBmb3IgdGhpcyBwcm9wZXJ0
eSB0byBkZXRlY3QgZGF0YSAvIGFyY2hpdmUgbG9hZHMKKyAgICBfQ0ZVUkxSZXF1ZXN0U2V0UHJv
dG9jb2xQcm9wZXJ0eShjZlVSTFJlcXVlc3QoKSwgQ0ZTVFIoIldlYkRhdGFSZXF1ZXN0IiksIENG
U1RSKCIiKSk7Cit9CisjZW5kaWYKKwogI2VuZGlmIC8vIFVTRShDRk5FVFdPUkspCiAKIGJvb2wg
UmVzb3VyY2VSZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1t
CmluZGV4IDg1YzdmN2M0MGU5NDA1YWI0ZDJlYTg1ZWRhNGRjMTUwNjJiZTYyOTQuLjIxODk5YjA4
NDAyMTdjOTA5YTAyMzQ2NzhkYzFhZDBlNzFmN2RiZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0KQEAg
LTI2LDEwICsyNiw2IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlJlc291cmNlUmVx
dWVzdC5oIgogCi0jaWYgIVVTRShDRk5FVFdPUkspCi0KLSNpbXBvcnQgIldlYkNvcmVTeXN0ZW1J
bnRlcmZhY2UuaCIKLQogI2ltcG9ydCAiRm9ybURhdGFTdHJlYW1NYWMuaCIKICNpbXBvcnQgIlJl
c291cmNlUmVxdWVzdENGTmV0LmgiCiAjaW1wb3J0ICJSdW50aW1lQXBwbGljYXRpb25DaGVja3Mu
aCIKQEAgLTQyLDYgKzM4LDcgQEAKIC0gKE5TQXJyYXkgKiljb250ZW50RGlzcG9zaXRpb25FbmNv
ZGluZ0ZhbGxiYWNrQXJyYXk7CiArICh2b2lkKXNldERlZmF1bHRUaW1lb3V0SW50ZXJ2YWw6KE5T
VGltZUludGVydmFsKXNlY29uZHM7CiAtIChDRlVSTFJlcXVlc3RSZWYpX0NGVVJMUmVxdWVzdDsK
Ky0gKGlkKV9pbml0V2l0aENGVVJMUmVxdWVzdDooQ0ZVUkxSZXF1ZXN0UmVmKXJlcXVlc3Q7CiBA
ZW5kCiAKIEBpbnRlcmZhY2UgTlNNdXRhYmxlVVJMUmVxdWVzdCAoV2ViTXV0YWJsZU5TVVJMUmVx
dWVzdERldGFpbHMpCkBAIC01MCwxMyArNDcsMzAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1OU1VSTFJlcXVlc3QqIFJlc291cmNlUmVxdWVzdDo6bnNVUkxSZXF1ZXN0KCkgY29uc3QKK05T
VVJMUmVxdWVzdCAqUmVzb3VyY2VSZXF1ZXN0Ojpuc1VSTFJlcXVlc3QoKSBjb25zdAogeyAKICAg
ICB1cGRhdGVQbGF0Zm9ybVJlcXVlc3QoKTsKICAgICAKICAgICByZXR1cm4gW1ttX25zUmVxdWVz
dC5nZXQoKSByZXRhaW5dIGF1dG9yZWxlYXNlXTsgCiB9CiAKKyNpZiBVU0UoQ0ZORVRXT1JLKQor
CitSZXNvdXJjZVJlcXVlc3Q6OlJlc291cmNlUmVxdWVzdChOU1VSTFJlcXVlc3QgKm5zUmVxdWVz
dCkKKyAgICA6IFJlc291cmNlUmVxdWVzdEJhc2UoKQorICAgICwgbV9jZlJlcXVlc3QoW25zUmVx
dWVzdCBfQ0ZVUkxSZXF1ZXN0XSkKKyAgICAsIG1fbnNSZXF1ZXN0KG5zUmVxdWVzdCkKK3sKK30K
Kwordm9pZCBSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZU5TVVJMUmVxdWVzdCgpCit7CisgICAgaWYg
KG1fY2ZSZXF1ZXN0KQorICAgICAgICBtX25zUmVxdWVzdC5hZG9wdE5TKFtbTlNVUkxSZXF1ZXN0
IGFsbG9jXSBfaW5pdFdpdGhDRlVSTFJlcXVlc3Q6bV9jZlJlcXVlc3QuZ2V0KCldKTsKK30KKwor
I2Vsc2UKKwogdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCkK
IHsKICAgICBtX3VybCA9IFttX25zUmVxdWVzdC5nZXQoKSBVUkxdOwpAQCAtMTc3LDYgKzE5MSw4
IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0OjpzZXRTdG9yYWdlU2Vzc2lvbihDRlVSTFN0b3JhZ2VT
ZXNzaW9uUmVmIHN0b3JhZ2VTZXNzaW9uKQogCiAjZW5kaWYKICAgICAKKyNlbmRpZiAvLyBVU0Uo
Q0ZORVRXT1JLKQorCiBzdGF0aWMgYm9vbCBpbml0UXVpY2tMb29rUmVzb3VyY2VDYWNoaW5nUXVp
cmtzKCkKIHsKICAgICBpZiAoYXBwbGljYXRpb25Jc1NhZmFyaSgpKQpAQCAtMjA0LDQgKzIyMCwz
IEBAIGJvb2wgUmVzb3VyY2VSZXF1ZXN0Ojp1c2VRdWlja0xvb2tSZXNvdXJjZUNhY2hpbmdRdWly
a3MoKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyAhVVNFKENGTkVUV09S
SykK
</data>
<flag name="review"
          id="93314"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
      

    </bug>

</bugzilla>