<?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>82396</bug_id>
          
          <creation_ts>2012-03-27 16:42:31 -0700</creation_ts>
          <short_desc>Reinforce Geolocation to prevent accidental leak of the user position</short_desc>
          <delta_ts>2012-03-27 17:58:54 -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>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>abarth</cc>
    
    <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>589435</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-03-27 16:42:31 -0700</bug_when>
    <thetext>Some simple changes can be done to enhance Geolocation in case of programming mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589437</commentid>
    <comment_count>1</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-03-27 16:42:58 -0700</bug_when>
    <thetext>Related to &lt;rdar://problem/11106417&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589456</commentid>
    <comment_count>2</comment_count>
      <attachid>134171</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-03-27 16:58:20 -0700</bug_when>
    <thetext>Created attachment 134171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589463</commentid>
    <comment_count>3</comment_count>
      <attachid>134171</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-27 17:03:57 -0700</bug_when>
    <thetext>Comment on attachment 134171
Patch

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

&gt; Source/WebCore/Modules/geolocation/Geolocation.cpp:128
&gt; +    // If we are here and the Geolocation permission is not approved, something has
&gt; +    // gone horribly wrong.
&gt; +    // We bail out to avoid any privacy issue.
&gt; +    ASSERT(m_geolocation-&gt;isAllowed());
&gt; +    if (!m_geolocation-&gt;isAllowed())
&gt; +        return;

Should we CRASH() rather than return here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589470</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-03-27 17:10:08 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/Modules/geolocation/Geolocation.cpp:128
&gt; &gt; +    // If we are here and the Geolocation permission is not approved, something has
&gt; &gt; +    // gone horribly wrong.
&gt; &gt; +    // We bail out to avoid any privacy issue.
&gt; &gt; +    ASSERT(m_geolocation-&gt;isAllowed());
&gt; &gt; +    if (!m_geolocation-&gt;isAllowed())
&gt; &gt; +        return;
&gt; 
&gt; Should we CRASH() rather than return here?

I have considered that but that seemed a bit extreme.

Do you have any input on what is bad enough that we should take down the whole browser? It is difficult to know it an error comes from a security breach or a programming mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589514</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-27 17:45:03 -0700</bug_when>
    <thetext>&gt; Do you have any input on what is bad enough that we should take down the whole browser? It is difficult to know it an error comes from a security breach or a programming mistake.

It&apos;s up to you.  The nice thing about crashing in impossible situations is that we&apos;ll get crash reports and we can fix the issue.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589522</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-03-27 17:58:54 -0700</bug_when>
    <thetext>Committed r112347: &lt;http://trac.webkit.org/changeset/112347&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134171</attachid>
            <date>2012-03-27 16:58:20 -0700</date>
            <delta_ts>2012-03-27 17:03:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82396-20120327165819.patch</filename>
            <type>text/plain</type>
            <size>9010</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJmMjk0OTVjMThjZjA3
YTRkODI2ZDc4ODY4NDAzZjM2NjVlMGEwNS4uYzczNDM5YzBjOWM5NzQwYjRlMTAzMzBhZGRhZjZh
OGJhZDcyNDVmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTAzLTI3ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlaW5mb3JjZSBH
ZW9sb2NhdGlvbiB0byBwcmV2ZW50IGFjY2lkZW50YWwgbGVhayBvZiB0aGUgdXNlciBwb3NpdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIzOTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBpcyB2
ZXJ5IGltcG9ydGFudCBub3QgdG8gcHJvdmlkZSB0aGUgcG9zaXRpb24gb2YgdGhlIHVzZXIgdG8g
YSBwYWdlCisgICAgICAgIHVubGVzcyB0aGUgdXNlciBhdXRob3JpemUgaXQuCisKKyAgICAgICAg
VGhlIGNvZGUgdXNlZCB0byBtYWtlIGl0IGVhc3kgdG8gY2F1c2Ugc3VjaCBwcm9ibGVtcywgYmVj
YXVzZSBhbnkgcGFydAorICAgICAgICBvZiB0aGUgR2VvbG9jYXRpb24gb2JqZWN0IGNvdWxkIGlu
dm9rZSB0aGUgc3VjY2VzcyBjYWxsYmFjayBkaXJlY3RseS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFkZCBlbmNhcHN1bGF0aW9uIGZvciBhbGwgdGhlIGF0dHJpYnV0ZXMgb2YgR2VvTm90aWZpZXIs
CisgICAgICAgIGFuZCBhZGQgZXh0cmEgZ3VhcmRzIGZvciB0aGUgdHdvIGNhbGxiYWNrcy4KKwor
ICAgICAgICBJbiB0aGUgY2FzZSBvZiB0aGUgc3VjY2VzcyBjYWxsYmFjaywgd2UgZG8gb25lIGV4
dHJhIGNoZWNrIGJlZm9yZSBzZW5kaW5nCisgICAgICAgIHRoZSB2YWx1ZSB0byB0aGUgYmluZGlu
Z3MuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpHZW9Ob3RpZmllcjo6cnVuU3VjY2Vzc0NhbGxi
YWNrKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpHZW9Ob3RpZmllcjo6cnVuRXJy
b3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xv
Y2F0aW9uOjpHZW9Ob3RpZmllcjo6c3RvcFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xv
Y2F0aW9uOjpHZW9Ob3RpZmllcjo6dGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpHZW9s
b2NhdGlvbjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpz
ZW5kRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OnNlbmRQb3NpdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6c3RvcFRpbWVyKToKKyAgICAgICAgKFdl
YkNvcmU6Okdlb2xvY2F0aW9uOjpleHRyYWN0Tm90aWZpZXJzV2l0aENhY2hlZFBvc2l0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpzdGFydFVwZGF0aW5nKToKKyAgICAgICAg
KiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpH
ZW9sb2NhdGlvbjo6aXNBbGxvd2VkKToKKyAgICAgICAgKEdlb2xvY2F0aW9uKToKKyAgICAgICAg
KEdlb05vdGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpHZW9Ob3RpZmll
cjo6b3B0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6R2VvTm90aWZpZXI6
OnVzZUNhY2hlZFBvc2l0aW9uKToKKwogMjAxMi0wMy0yNCAgQWJoaXNoZWsgQXJ5YSAgPGluZmVy
bm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENyYXNoIGluIEFwcGx5U3R5bGVDb21tYW5kOjph
cHBseUlubGluZVN0eWxlVG9Ob2RlUmFuZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCmluZGV4IDNhMmU1ZDhiMzZiM2ZlY2QwNzU4
M2M4ODNiYTEwZTBmZmE2ZTE5NjYuLjJlODZiYTc0ZDJkMmNjYTI1N2RkOTA5NjEyMjQ5ZjAxNjgy
YjlhMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2Vv
bG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2Vv
bG9jYXRpb24uY3BwCkBAIC0xMjAsMTUgKzEyMCwzMyBAQCBib29sIEdlb2xvY2F0aW9uOjpHZW9O
b3RpZmllcjo6aGFzWmVyb1RpbWVvdXQoKSBjb25zdAogCiB2b2lkIEdlb2xvY2F0aW9uOjpHZW9O
b3RpZmllcjo6cnVuU3VjY2Vzc0NhbGxiYWNrKEdlb3Bvc2l0aW9uKiBwb3NpdGlvbikKIHsKKyAg
ICAvLyBJZiB3ZSBhcmUgaGVyZSBhbmQgdGhlIEdlb2xvY2F0aW9uIHBlcm1pc3Npb24gaXMgbm90
IGFwcHJvdmVkLCBzb21ldGhpbmcgaGFzCisgICAgLy8gZ29uZSBob3JyaWJseSB3cm9uZy4KKyAg
ICAvLyBXZSBiYWlsIG91dCB0byBhdm9pZCBhbnkgcHJpdmFjeSBpc3N1ZS4KKyAgICBBU1NFUlQo
bV9nZW9sb2NhdGlvbi0+aXNBbGxvd2VkKCkpOworICAgIGlmICghbV9nZW9sb2NhdGlvbi0+aXNB
bGxvd2VkKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5k
bGVFdmVudChwb3NpdGlvbik7CiB9CiAKK3ZvaWQgR2VvbG9jYXRpb246Okdlb05vdGlmaWVyOjpy
dW5FcnJvckNhbGxiYWNrKFBvc2l0aW9uRXJyb3IqIGVycm9yKQoreworICAgIGlmIChtX2Vycm9y
Q2FsbGJhY2spCisgICAgICAgIG1fZXJyb3JDYWxsYmFjay0+aGFuZGxlRXZlbnQoZXJyb3IpOwor
fQorCiB2b2lkIEdlb2xvY2F0aW9uOjpHZW9Ob3RpZmllcjo6c3RhcnRUaW1lcklmTmVlZGVkKCkK
IHsKICAgICBpZiAobV9vcHRpb25zLT5oYXNUaW1lb3V0KCkpCiAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KG1fb3B0aW9ucy0+dGltZW91dCgpIC8gMTAwMC4wKTsKIH0KIAordm9pZCBHZW9s
b2NhdGlvbjo6R2VvTm90aWZpZXI6OnN0b3BUaW1lcigpCit7CisgICAgbV90aW1lci5zdG9wKCk7
Cit9CisKIHZvaWQgR2VvbG9jYXRpb246Okdlb05vdGlmaWVyOjp0aW1lckZpcmVkKFRpbWVyPEdl
b05vdGlmaWVyPiopCiB7CiAgICAgbV90aW1lci5zdG9wKCk7CkBAIC0xNDAsOCArMTU4LDcgQEAg
dm9pZCBHZW9sb2NhdGlvbjo6R2VvTm90aWZpZXI6OnRpbWVyRmlyZWQoVGltZXI8R2VvTm90aWZp
ZXI+KikKICAgICAvLyBUZXN0IGZvciBmYXRhbCBlcnJvciBmaXJzdC4gVGhpcyBpcyByZXF1aXJl
ZCBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIEZyYW1lIGlzCiAgICAgLy8gZGlzY29ubmVjdGVkIGFu
ZCByZXF1ZXN0cyBhcmUgY2FuY2VsbGVkLgogICAgIGlmIChtX2ZhdGFsRXJyb3IpIHsKLSAgICAg
ICAgaWYgKG1fZXJyb3JDYWxsYmFjaykKLSAgICAgICAgICAgIG1fZXJyb3JDYWxsYmFjay0+aGFu
ZGxlRXZlbnQobV9mYXRhbEVycm9yLmdldCgpKTsKKyAgICAgICAgcnVuRXJyb3JDYWxsYmFjayht
X2ZhdGFsRXJyb3IuZ2V0KCkpOwogICAgICAgICAvLyBUaGlzIHdpbGwgY2F1c2UgdGhpcyBub3Rp
ZmllciB0byBiZSBkZWxldGVkLgogICAgICAgICBtX2dlb2xvY2F0aW9uLT5mYXRhbEVycm9yT2Nj
dXJyZWQodGhpcyk7CiAgICAgICAgIHJldHVybjsKQEAgLTMxNCw3ICszMzEsNyBAQCBQYXNzUmVm
UHRyPEdlb2xvY2F0aW9uOjpHZW9Ob3RpZmllcj4gR2VvbG9jYXRpb246OnN0YXJ0UmVxdWVzdChQ
YXNzUmVmUHRyPFBvc2l0aQogICAgIC8vIHRoZSBwZXJtaXNzaW9uIHN0YXRlIGNhbiBub3QgY2hh
bmdlIGFnYWluIGluIHRoZSBsaWZldGltZSBvZiB0aGlzIHBhZ2UuCiAgICAgaWYgKGlzRGVuaWVk
KCkpCiAgICAgICAgIG5vdGlmaWVyLT5zZXRGYXRhbEVycm9yKFBvc2l0aW9uRXJyb3I6OmNyZWF0
ZShQb3NpdGlvbkVycm9yOjpQRVJNSVNTSU9OX0RFTklFRCwgcGVybWlzc2lvbkRlbmllZEVycm9y
TWVzc2FnZSkpOwotICAgIGVsc2UgaWYgKGhhdmVTdWl0YWJsZUNhY2hlZFBvc2l0aW9uKG5vdGlm
aWVyLT5tX29wdGlvbnMuZ2V0KCkpKQorICAgIGVsc2UgaWYgKGhhdmVTdWl0YWJsZUNhY2hlZFBv
c2l0aW9uKG5vdGlmaWVyLT5vcHRpb25zKCkpKQogICAgICAgICBub3RpZmllci0+c2V0VXNlQ2Fj
aGVkUG9zaXRpb24oKTsKICAgICBlbHNlIGlmIChub3RpZmllci0+aGFzWmVyb1RpbWVvdXQoKSkK
ICAgICAgICAgbm90aWZpZXItPnN0YXJ0VGltZXJJZk5lZWRlZCgpOwpAQCAtNDY5LDI5ICs0ODYs
MjIgQEAgdm9pZCBHZW9sb2NhdGlvbjo6c2VuZEVycm9yKEdlb05vdGlmaWVyVmVjdG9yJiBub3Rp
ZmllcnMsIFBvc2l0aW9uRXJyb3IqIGVycm9yKQogICAgICBmb3IgKEdlb05vdGlmaWVyVmVjdG9y
Ojpjb25zdF9pdGVyYXRvciBpdCA9IG5vdGlmaWVycy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQp
IHsKICAgICAgICAgIFJlZlB0cjxHZW9Ob3RpZmllcj4gbm90aWZpZXIgPSAqaXQ7CiAgICAgICAg
ICAKLSAgICAgICAgIGlmIChub3RpZmllci0+bV9lcnJvckNhbGxiYWNrKQotICAgICAgICAgICAg
IG5vdGlmaWVyLT5tX2Vycm9yQ2FsbGJhY2stPmhhbmRsZUV2ZW50KGVycm9yKTsKKyAgICAgICAg
IG5vdGlmaWVyLT5ydW5FcnJvckNhbGxiYWNrKGVycm9yKTsKICAgICAgfQogfQogCiB2b2lkIEdl
b2xvY2F0aW9uOjpzZW5kUG9zaXRpb24oR2VvTm90aWZpZXJWZWN0b3ImIG5vdGlmaWVycywgR2Vv
cG9zaXRpb24qIHBvc2l0aW9uKQogewogICAgIEdlb05vdGlmaWVyVmVjdG9yOjpjb25zdF9pdGVy
YXRvciBlbmQgPSBub3RpZmllcnMuZW5kKCk7Ci0gICAgZm9yIChHZW9Ob3RpZmllclZlY3Rvcjo6
Y29uc3RfaXRlcmF0b3IgaXQgPSBub3RpZmllcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgIFJlZlB0cjxHZW9Ob3RpZmllcj4gbm90aWZpZXIgPSAqaXQ7Ci0gICAgICAgIEFT
U0VSVChub3RpZmllci0+bV9zdWNjZXNzQ2FsbGJhY2spOwotICAgICAgICAKLSAgICAgICAgbm90
aWZpZXItPm1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5kbGVFdmVudChwb3NpdGlvbik7Ci0gICAgfQor
ICAgIGZvciAoR2VvTm90aWZpZXJWZWN0b3I6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbm90aWZpZXJz
LmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgKCppdCktPnJ1blN1Y2Nlc3NDYWxs
YmFjayhwb3NpdGlvbik7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb246OnN0b3BUaW1lcihHZW9Ob3Rp
ZmllclZlY3RvciYgbm90aWZpZXJzKQogewogICAgIEdlb05vdGlmaWVyVmVjdG9yOjpjb25zdF9p
dGVyYXRvciBlbmQgPSBub3RpZmllcnMuZW5kKCk7Ci0gICAgZm9yIChHZW9Ob3RpZmllclZlY3Rv
cjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBub3RpZmllcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KSB7Ci0gICAgICAgIFJlZlB0cjxHZW9Ob3RpZmllcj4gbm90aWZpZXIgPSAqaXQ7Ci0gICAgICAg
IG5vdGlmaWVyLT5tX3RpbWVyLnN0b3AoKTsKLSAgICB9CisgICAgZm9yIChHZW9Ob3RpZmllclZl
Y3Rvcjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBub3RpZmllcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyAr
K2l0KQorICAgICAgICAoKml0KS0+c3RvcFRpbWVyKCk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb246
OnN0b3BUaW1lcnNGb3JPbmVTaG90cygpCkBAIC01MzgsNyArNTQ4LDcgQEAgdm9pZCBHZW9sb2Nh
dGlvbjo6ZXh0cmFjdE5vdGlmaWVyc1dpdGhDYWNoZWRQb3NpdGlvbihHZW9Ob3RpZmllclZlY3Rv
ciYgbm90aWZpZXIKICAgICBHZW9Ob3RpZmllclZlY3Rvcjo6aXRlcmF0b3IgZW5kID0gbm90aWZp
ZXJzLmVuZCgpOwogICAgIGZvciAoR2VvTm90aWZpZXJWZWN0b3I6OmNvbnN0X2l0ZXJhdG9yIGl0
ID0gbm90aWZpZXJzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBHZW9Ob3Rp
Zmllciogbm90aWZpZXIgPSBpdC0+Z2V0KCk7Ci0gICAgICAgIGlmIChub3RpZmllci0+bV91c2VD
YWNoZWRQb3NpdGlvbikgeworICAgICAgICBpZiAobm90aWZpZXItPnVzZUNhY2hlZFBvc2l0aW9u
KCkpIHsKICAgICAgICAgICAgIGlmIChjYWNoZWQpCiAgICAgICAgICAgICAgICAgY2FjaGVkLT5h
cHBlbmQobm90aWZpZXIpOwogICAgICAgICB9IGVsc2UKQEAgLTY2Niw3ICs2NzYsNyBAQCBib29s
IEdlb2xvY2F0aW9uOjpzdGFydFVwZGF0aW5nKEdlb05vdGlmaWVyKiBub3RpZmllcikKICAgICBp
ZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHBhZ2UtPmdlb2xvY2F0aW9u
Q29udHJvbGxlcigpLT5hZGRPYnNlcnZlcih0aGlzLCBub3RpZmllci0+bV9vcHRpb25zLT5lbmFi
bGVIaWdoQWNjdXJhY3koKSk7CisgICAgcGFnZS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPmFk
ZE9ic2VydmVyKHRoaXMsIG5vdGlmaWVyLT5vcHRpb25zKCktPmVuYWJsZUhpZ2hBY2N1cmFjeSgp
KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9n
ZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5oCmluZGV4IDhkY2JiM2QzNmQxNmJmOWQwOTFhNmExYTVh
MGNiNjg3NTg2NmQyZTQuLmI1Mzk5ODYwNjAyNGE3ZTkyZjQ0NzY4MjIzZjY3MjNhOWFhMjI2Y2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9u
LmgKQEAgLTYxLDYgKzYxLDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJXYXRjaChpbnQgd2F0
Y2hJZCk7CiAKICAgICB2b2lkIHNldElzQWxsb3dlZChib29sKTsKKyAgICBib29sIGlzQWxsb3dl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dHZW9sb2NhdGlvbiA9PSBZZXM7IH0KIAogICAgIHZv
aWQgcG9zaXRpb25DaGFuZ2VkKCk7CiAgICAgdm9pZCBzZXRFcnJvcihHZW9sb2NhdGlvbkVycm9y
Kik7CkBAIC02OCw3ICs2OSw2IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgR2VvcG9zaXRpb24q
IGxhc3RQb3NpdGlvbigpOwogCi0gICAgYm9vbCBpc0FsbG93ZWQoKSBjb25zdCB7IHJldHVybiBt
X2FsbG93R2VvbG9jYXRpb24gPT0gWWVzOyB9CiAgICAgYm9vbCBpc0RlbmllZCgpIGNvbnN0IHsg
cmV0dXJuIG1fYWxsb3dHZW9sb2NhdGlvbiA9PSBObzsgfQogCiAgICAgZXhwbGljaXQgR2VvbG9j
YXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwpAQCAtNzgsMTQgKzc4LDI0IEBAIHByaXZh
dGU6CiAgICAgY2xhc3MgR2VvTm90aWZpZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxHZW9Ob3RpZmll
cj4gewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8R2VvTm90aWZpZXI+
IGNyZWF0ZShHZW9sb2NhdGlvbiogZ2VvbG9jYXRpb24sIFBhc3NSZWZQdHI8UG9zaXRpb25DYWxs
YmFjaz4gcG9zaXRpb25DYWxsYmFjaywgUGFzc1JlZlB0cjxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+
IHBvc2l0aW9uRXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxQb3NpdGlvbk9wdGlvbnM+IG9wdGlv
bnMpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBHZW9Ob3RpZmllcihnZW9sb2NhdGlvbiwgcG9zaXRp
b25DYWxsYmFjaywgcG9zaXRpb25FcnJvckNhbGxiYWNrLCBvcHRpb25zKSk7IH0KLSAgICAgICAg
CisKKyAgICAgICAgUG9zaXRpb25PcHRpb25zKiBvcHRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9v
cHRpb25zLmdldCgpOyB9OwogICAgICAgICB2b2lkIHNldEZhdGFsRXJyb3IoUGFzc1JlZlB0cjxQ
b3NpdGlvbkVycm9yPik7Ci0gICAgICAgIGJvb2wgaGFzWmVyb1RpbWVvdXQoKSBjb25zdDsKKwor
ICAgICAgICBib29sIHVzZUNhY2hlZFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV91c2VDYWNo
ZWRQb3NpdGlvbjsgfQogICAgICAgICB2b2lkIHNldFVzZUNhY2hlZFBvc2l0aW9uKCk7CisKICAg
ICAgICAgdm9pZCBydW5TdWNjZXNzQ2FsbGJhY2soR2VvcG9zaXRpb24qKTsKKyAgICAgICAgdm9p
ZCBydW5FcnJvckNhbGxiYWNrKFBvc2l0aW9uRXJyb3IqKTsKKwogICAgICAgICB2b2lkIHN0YXJ0
VGltZXJJZk5lZWRlZCgpOworICAgICAgICB2b2lkIHN0b3BUaW1lcigpOwogICAgICAgICB2b2lk
IHRpbWVyRmlyZWQoVGltZXI8R2VvTm90aWZpZXI+Kik7Ci0gICAgICAgIAorICAgICAgICBib29s
IGhhc1plcm9UaW1lb3V0KCkgY29uc3Q7CisKKyAgICBwcml2YXRlOgorICAgICAgICBHZW9Ob3Rp
ZmllcihHZW9sb2NhdGlvbiosIFBhc3NSZWZQdHI8UG9zaXRpb25DYWxsYmFjaz4sIFBhc3NSZWZQ
dHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiwgUGFzc1JlZlB0cjxQb3NpdGlvbk9wdGlvbnM+KTsK
KwogICAgICAgICBSZWZQdHI8R2VvbG9jYXRpb24+IG1fZ2VvbG9jYXRpb247CiAgICAgICAgIFJl
ZlB0cjxQb3NpdGlvbkNhbGxiYWNrPiBtX3N1Y2Nlc3NDYWxsYmFjazsKICAgICAgICAgUmVmUHRy
PFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gbV9lcnJvckNhbGxiYWNrOwpAQCAtOTMsOSArMTAzLDYg
QEAgcHJpdmF0ZToKICAgICAgICAgVGltZXI8R2VvTm90aWZpZXI+IG1fdGltZXI7CiAgICAgICAg
IFJlZlB0cjxQb3NpdGlvbkVycm9yPiBtX2ZhdGFsRXJyb3I7CiAgICAgICAgIGJvb2wgbV91c2VD
YWNoZWRQb3NpdGlvbjsKLQotICAgIHByaXZhdGU6Ci0gICAgICAgIEdlb05vdGlmaWVyKEdlb2xv
Y2F0aW9uKiwgUGFzc1JlZlB0cjxQb3NpdGlvbkNhbGxiYWNrPiwgUGFzc1JlZlB0cjxQb3NpdGlv
bkVycm9yQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFBvc2l0aW9uT3B0aW9ucz4pOwogICAgIH07CiAK
ICAgICB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8R2VvTm90aWZpZXI+ID4gR2VvTm90aWZpZXJWZWN0
b3I7Cg==
</data>
<flag name="review"
          id="138369"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>