<?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>238495</bug_id>
          
          <creation_ts>2022-03-29 02:01:15 -0700</creation_ts>
          <short_desc>IPC::Connection::connection(UniqueID) makes thread-safe IPC::Connection harder to implement</short_desc>
          <delta_ts>2022-04-05 02:02:22 -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>WebKit2</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>238515</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1855949</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-29 02:01:15 -0700</bug_when>
    <thetext>IPC::Connection::connection(UniqueID) makes thread-safe IPC::Connection harder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855950</commentid>
    <comment_count>1</comment_count>
      <attachid>456007</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-29 02:05:43 -0700</bug_when>
    <thetext>Created attachment 456007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856849</commentid>
    <comment_count>2</comment_count>
      <attachid>456007</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-31 10:21:06 -0700</bug_when>
    <thetext>Comment on attachment 456007
Patch

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

&gt; Source/WebKit/NetworkProcess/NetworkBroadcastChannelRegistry.cpp:63
&gt; +    auto&amp; connectionIdentifiersForName = channelsForOrigin.ensure(name, [] { return Vector&lt;IPC::Connection*&gt; { }; }).iterator-&gt;value; // NOLINT

Curious, what is this NOLINT about? First time I see it. I am not aware that it is a thing in WebKit?

&gt; Source/WebKit/NetworkProcess/NetworkBroadcastChannelRegistry.h:56
&gt; +    using NameToConnectionIdentifiersMap = HashMap&lt;String, Vector&lt;IPC::Connection*&gt;&gt;;

We don&apos;t store raw pointers in containers in WebKit anymore because of UAF risks. We may want to use a WeakPtr&lt;&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857783</commentid>
    <comment_count>3</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-04 01:49:00 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #2)
&gt; Comment on attachment 456007 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=456007&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/NetworkBroadcastChannelRegistry.cpp:63
&gt; &gt; +    auto&amp; connectionIdentifiersForName = channelsForOrigin.ensure(name, [] { return Vector&lt;IPC::Connection*&gt; { }; }).iterator-&gt;value; // NOLINT
&gt; 
&gt; Curious, what is this NOLINT about? First time I see it. I am not aware that
&gt; it is a thing in WebKit?

git grep NOLINT Source/WebCore Source/WebKit Source/WTF Source/JavaScriptCore | wc -l 
     104

It&apos;s a workaround for case where where webkit style check regular expressions fail.
It is implemented in the webkit style checker.

&gt; &gt; Source/WebKit/NetworkProcess/NetworkBroadcastChannelRegistry.h:56
&gt; &gt; +    using NameToConnectionIdentifiersMap = HashMap&lt;String, Vector&lt;IPC::Connection*&gt;&gt;;
&gt; 
&gt; We don&apos;t store raw pointers in containers in WebKit anymore because of UAF
&gt; risks. We may want to use a WeakPtr&lt;&gt;.

WeakPtrs of cross-thread objects are an oxymoron.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857830</commentid>
    <comment_count>4</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-04 06:13:58 -0700</bug_when>
    <thetext>&gt;&gt; We don&apos;t store raw pointers in containers in WebKit anymore because of UAF
&gt;&gt; risks. We may want to use a WeakPtr&lt;&gt;.

&gt; WeakPtrs of cross-thread objects are an oxymoron.

And to elaborate: currently we don&apos;t have useful abstraction for holding cross-thread object without a Ref in a thread-safe manner. It is generally a sign of a bug if WeakPtrs are being used for ThreadSafeRefCounted objects.

However, if we don&apos;t think that&apos;s an issue for today, maybe these objects are only used in main thread, and IPC::Connections are created and destroyed in main thread, so it should work. I can try this if there&apos;s no better options and RefPtrs nor raw pointers are appropriate..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858304</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-05 02:02:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/91283581&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456007</attachid>
            <date>2022-03-29 02:05:43 -0700</date>
            <delta_ts>2022-03-30 00:38:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238495-20220329120541.patch</filename>
            <type>text/plain</type>
            <size>7443</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiZDg5NThhMDlkZjY3ZTJj
MWEzNGI3Njk3NmY3YjE3MTE3NGY4OTQuLmJiODk3YjFkZDY0MjI3Mzk3ODQzNWQ5OTNiZGE4MTY3
M2Q3YmIzYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjItMDMtMjkgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBJUEM6OkNvbm5lY3Rpb246
OmNvbm5lY3Rpb24oVW5pcXVlSUQpIG1ha2VzIHRocmVhZC1zYWZlIElQQzo6Q29ubmVjdGlvbiBo
YXJkZXIgdG8gaW1wbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzg0OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJUEM6OkNvbm5lY3Rpb246OmNvbm5lY3Rpb24oVW5pcXVlSUQpIG1ha2VzIHRo
cmVhZC1zYWZlIElQQzo6Q29ubmVjdGlvbiBoYXJkZXIgdG8gaW1wbGVtZW50CisgICAgICAgIHNp
bmNlIHRoZXJlIGlzIG5vIHZhbGlkIHRocmVhZC1zYWZlIHdheSB0byBtYWludGFpbiBpZC0+aW5z
dGFuY2UgbWFwcGluZy4KKworICAgICAgICBSZW1vdmUgdGhlIG9ubHkgdXNlIGZyb20gTmV0d29y
a0Jyb2FkY2FzdENoYW5uZWxSZWdpc3RyeS4gVGhlIHJlZ2lzdHJ5IGFscmVhZHkgc3Vic2NyaWJl
cyB0bworICAgICAgICB0aGUgInJlbW92ZSBjb25uZWN0aW9uIiBzaWduYWwsIHdoaWNoIGtlZXBz
IHRoZSBzZXQgb2YgQ29ubmVjdGlvbiBvYmplY3RzIHZhbGlkLgorCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Jyb2FkY2FzdENoYW5uZWxSZWdpc3RyeS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OnJlZ2lzdGVyQ2hhbm5lbCk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OnVucmVn
aXN0ZXJDaGFubmVsKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Jyb2FkY2FzdENoYW5uZWxS
ZWdpc3RyeTo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQnJvYWRjYXN0
Q2hhbm5lbFJlZ2lzdHJ5OjpyZW1vdmVDb25uZWN0aW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5Lmg6CisgICAgICAgICogUGxhdGZv
cm0vSVBDL0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9u
Lmg6CisKIDIwMjItMDMtMjggIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAg
ICAgICAgRGlzYWJsZSBjdXN0b20gc3RvcmFnZSBwYXRocyBmb3IgSW5kZXhlZERCIGFuZCBMb2Nh
bFN0b3JhZ2UgYnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Jyb2FkY2FzdENoYW5uZWxSZWdpc3RyeS5jcHAKaW5kZXgg
NzFjNzdjZjI4ODg4M2I3OGU5YjcwYzY2MzJkYzY5YTA0ODRkNTUzZC4uYjA5ZjY2MTAzNmQ4MTEw
NmFiZmE2YTg1OTBhMjBjNDZkYzE5YjVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnku
Y3BwCkBAIC02MCw5ICs2MCw5IEBAIHZvaWQgTmV0d29ya0Jyb2FkY2FzdENoYW5uZWxSZWdpc3Ry
eTo6cmVnaXN0ZXJDaGFubmVsKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvCiAgICAgUkVHSVNU
UllfTUVTU0FHRV9DSEVDSyhpc1ZhbGlkQ2xpZW50T3JpZ2luKG9yaWdpbikpOwogCiAgICAgYXV0
byYgY2hhbm5lbHNGb3JPcmlnaW4gPSBtX2Jyb2FkY2FzdENoYW5uZWxzLmVuc3VyZShvcmlnaW4s
IFtdIHsgcmV0dXJuIE5hbWVUb0Nvbm5lY3Rpb25JZGVudGlmaWVyc01hcCB7IH07IH0pLml0ZXJh
dG9yLT52YWx1ZTsKLSAgICBhdXRvJiBjb25uZWN0aW9uSWRlbnRpZmllcnNGb3JOYW1lID0gY2hh
bm5lbHNGb3JPcmlnaW4uZW5zdXJlKG5hbWUsIFtdIHsgcmV0dXJuIFZlY3RvcjxJUEM6OkNvbm5l
Y3Rpb246OlVuaXF1ZUlEPiB7IH07IH0pLml0ZXJhdG9yLT52YWx1ZTsKLSAgICBBU1NFUlQoIWNv
bm5lY3Rpb25JZGVudGlmaWVyc0Zvck5hbWUuY29udGFpbnMoY29ubmVjdGlvbi51bmlxdWVJRCgp
KSk7Ci0gICAgY29ubmVjdGlvbklkZW50aWZpZXJzRm9yTmFtZS5hcHBlbmQoY29ubmVjdGlvbi51
bmlxdWVJRCgpKTsKKyAgICBhdXRvJiBjb25uZWN0aW9uSWRlbnRpZmllcnNGb3JOYW1lID0gY2hh
bm5lbHNGb3JPcmlnaW4uZW5zdXJlKG5hbWUsIFtdIHsgcmV0dXJuIFZlY3RvcjxJUEM6OkNvbm5l
Y3Rpb24qPiB7IH07IH0pLml0ZXJhdG9yLT52YWx1ZTsgLy8gTk9MSU5UCisgICAgQVNTRVJUKCFj
b25uZWN0aW9uSWRlbnRpZmllcnNGb3JOYW1lLmNvbnRhaW5zKCZjb25uZWN0aW9uKSk7CisgICAg
Y29ubmVjdGlvbklkZW50aWZpZXJzRm9yTmFtZS5hcHBlbmQoJmNvbm5lY3Rpb24pOwogfQogCiB2
b2lkIE5ldHdvcmtCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OnVucmVnaXN0ZXJDaGFubmVsKElQ
Qzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBv
cmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSkKQEAgLTc4LDggKzc4LDggQEAgdm9pZCBOZXR3b3Jr
QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyQ2hhbm5lbChJUEM6OkNvbm5lY3Rp
b24mIGNvbm5lY3QKICAgICBpZiAoY29ubmVjdGlvbklkZW50aWZpZXJzRm9yTmFtZUl0ZXJhdG9y
ID09IGNoYW5uZWxzRm9yT3JpZ2luSXRlcmF0b3ItPnZhbHVlLmVuZCgpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBBU1NFUlQoY29ubmVjdGlvbklkZW50aWZpZXJzRm9yTmFtZUl0ZXJhdG9yLT52
YWx1ZS5jb250YWlucyhjb25uZWN0aW9uLnVuaXF1ZUlEKCkpKTsKLSAgICBjb25uZWN0aW9uSWRl
bnRpZmllcnNGb3JOYW1lSXRlcmF0b3ItPnZhbHVlLnJlbW92ZUZpcnN0KGNvbm5lY3Rpb24udW5p
cXVlSUQoKSk7CisgICAgQVNTRVJUKGNvbm5lY3Rpb25JZGVudGlmaWVyc0Zvck5hbWVJdGVyYXRv
ci0+dmFsdWUuY29udGFpbnMoJmNvbm5lY3Rpb24pKTsKKyAgICBjb25uZWN0aW9uSWRlbnRpZmll
cnNGb3JOYW1lSXRlcmF0b3ItPnZhbHVlLnJlbW92ZUZpcnN0KCZjb25uZWN0aW9uKTsKIH0KIAog
dm9pZCBOZXR3b3JrQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5Ojpwb3N0TWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3JpZ2lu
LCBjb25zdCBTdHJpbmcmIG5hbWUsIFdlYkNvcmU6Ok1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYg
bWVzc2FnZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpA
QCAtOTYsMTYgKzk2LDEyIEBAIHZvaWQgTmV0d29ya0Jyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6
cG9zdE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjCiAgICAgICAgIHJldHVy
biBjb21wbGV0aW9uSGFuZGxlcigpOwogCiAgICAgYXV0byBjYWxsYmFja0FnZ3JlZ2F0b3IgPSBD
YWxsYmFja0FnZ3JlZ2F0b3I6OmNyZWF0ZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0g
ICAgZm9yIChhdXRvJiBjb25uZWN0aW9uSUQgOiBjb25uZWN0aW9uSWRlbnRpZmllcnNGb3JOYW1l
SXRlcmF0b3ItPnZhbHVlKSB7CisgICAgZm9yIChhdXRvKiB0YXJnZXRDb25uZWN0aW9uIDogY29u
bmVjdGlvbklkZW50aWZpZXJzRm9yTmFtZUl0ZXJhdG9yLT52YWx1ZSkgewogICAgICAgICAvLyBP
bmx5IGRpc3BhdGNoIHRoZSBwb3N0IHRoZSBtZXNzYWdlcyB0byBCcm9hZGNhc3RDaGFubmVscyBv
dXRzaWRlIHRoZSBzb3VyY2UgcHJvY2Vzcy4KLSAgICAgICAgaWYgKGNvbm5lY3Rpb25JRCA9PSBj
b25uZWN0aW9uLnVuaXF1ZUlEKCkpCisgICAgICAgIGlmICh0YXJnZXRDb25uZWN0aW9uID09ICZj
b25uZWN0aW9uKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgUmVmUHRyIGNvbm5l
Y3Rpb24gPSBJUEM6OkNvbm5lY3Rpb246OmNvbm5lY3Rpb24oY29ubmVjdGlvbklEKTsKLSAgICAg
ICAgaWYgKCFjb25uZWN0aW9uKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgY29u
bmVjdGlvbi0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJCcm9hZGNhc3RDaGFubmVs
UmVnaXN0cnk6OlBvc3RNZXNzYWdlVG9SZW1vdGUob3JpZ2luLCBuYW1lLCBtZXNzYWdlKSwgW2Nh
bGxiYWNrQWdncmVnYXRvcl0geyB9LCAwKTsKKyAgICAgICAgdGFyZ2V0Q29ubmVjdGlvbi0+c2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OlBv
c3RNZXNzYWdlVG9SZW1vdGUob3JpZ2luLCBuYW1lLCBtZXNzYWdlKSwgW2NhbGxiYWNrQWdncmVn
YXRvcl0geyB9LCAwKTsKICAgICB9CiB9CiAKQEAgLTExNSw3ICsxMTEsNyBAQCB2b2lkIE5ldHdv
cmtCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OnJlbW92ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aQogICAgIGZvciAoYXV0byYgZW50cnkgOiBtX2Jyb2FkY2FzdENoYW5uZWxz
KSB7CiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IG5hbWVzVG9SZW1vdmU7CiAgICAgICAgIGZvciAo
YXV0byYgaW5uZXJFbnRyeSA6IGVudHJ5LnZhbHVlKSB7Ci0gICAgICAgICAgICBpbm5lckVudHJ5
LnZhbHVlLnJlbW92ZUZpcnN0KGNvbm5lY3Rpb24udW5pcXVlSUQoKSk7CisgICAgICAgICAgICBp
bm5lckVudHJ5LnZhbHVlLnJlbW92ZUZpcnN0KCZjb25uZWN0aW9uKTsKICAgICAgICAgICAgIGlm
IChpbm5lckVudHJ5LnZhbHVlLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICBuYW1lc1RvUmVt
b3ZlLmFwcGVuZChpbm5lckVudHJ5LmtleSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Jyb2FkY2FzdENoYW5uZWxSZWdpc3RyeS5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQnJvYWRjYXN0Q2hhbm5lbFJl
Z2lzdHJ5LmgKaW5kZXggY2I3YjM1YTc1YTlhNDBiNDc2NzU5MTNiN2YzMjJkZTRiNzQ0YzM2NS4u
NTEyMjA1NzY5NzkxOWE4N2NkODg3NThjZmNkYjUxOTQ0MjM4YzRmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5
LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQnJvYWRjYXN0Q2hh
bm5lbFJlZ2lzdHJ5LmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAg
IFJlZjxOZXR3b3JrUHJvY2Vzcz4gbV9uZXR3b3JrUHJvY2VzczsKLSAgICB1c2luZyBOYW1lVG9D
b25uZWN0aW9uSWRlbnRpZmllcnNNYXAgPSBIYXNoTWFwPFN0cmluZywgVmVjdG9yPElQQzo6Q29u
bmVjdGlvbjo6VW5pcXVlSUQ+PjsKKyAgICB1c2luZyBOYW1lVG9Db25uZWN0aW9uSWRlbnRpZmll
cnNNYXAgPSBIYXNoTWFwPFN0cmluZywgVmVjdG9yPElQQzo6Q29ubmVjdGlvbio+PjsKICAgICBI
YXNoTWFwPFdlYkNvcmU6OkNsaWVudE9yaWdpbiwgTmFtZVRvQ29ubmVjdGlvbklkZW50aWZpZXJz
TWFwPiBtX2Jyb2FkY2FzdENoYW5uZWxzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9Db25uZWN0aW9uLmNwcAppbmRleCBiNzQ5ZDZmNmMyMzg1Y2ZlNWUwMGFlODExYjI5NTViZGZm
ODNmMjFjLi5jYzdkYjRlYWY1MzkwMzhkOGJkZTdiNWMyYWFmYjc2MjgzMmJmZTBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcApAQCAtMzE1LDE1ICszMTUsNiBA
QCBDb25uZWN0aW9uOjp+Q29ubmVjdGlvbigpCiAgICAgY2xlYXJBc3luY1JlcGx5SGFuZGxlcnMo
KnRoaXMpOwogfQogCi0vLyBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTIGJlY2F1
c2UgdGhpcyBmdW5jdGlvbiBhY2Nlc3NlcyBjb25uZWN0aW9uTWFwKCkgd2l0aG91dCBsb2NraW5n
LgotLy8gSXQgaXMgc2FmZSBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb24g
dGhlIG1haW4gdGhyZWFkIGFuZCBDb25uZWN0aW9uIG9iamVjdHMgYXJlIG9ubHkKLS8vIGNvbnN0
cnVjdGVkIC8gZGVzdHJveWVkIG9uIHRoZSBtYWluIHRocmVhZC4KLUNvbm5lY3Rpb24qIENvbm5l
Y3Rpb246OmNvbm5lY3Rpb24oVW5pcXVlSUQgdW5pcXVlSUQpIFdURl9JR05PUkVTX1RIUkVBRF9T
QUZFVFlfQU5BTFlTSVMKLXsKLSAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwotICAgIHJl
dHVybiBjb25uZWN0aW9uTWFwKCkuZ2V0KHVuaXF1ZUlEKTsKLX0KLQogdm9pZCBDb25uZWN0aW9u
OjpzZXRPbmx5U2VuZE1lc3NhZ2VzQXNEaXNwYXRjaFdoZW5XYWl0aW5nRm9yU3luY1JlcGx5V2hl
blByb2Nlc3NpbmdTdWNoQU1lc3NhZ2UoYm9vbCBmbGFnKQogewogICAgIEFTU0VSVCghbV9pc0Nv
bm5lY3RlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0
aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKaW5kZXggOTRm
OGQ3OTY3OTNlZTNmNmMzYWE2NWE5YTQxZDc4N2U4MTE4N2E1YS4uYjE0ZWViZTZlNWIzNTRjMTYx
NTMwNDk2ZDk1YTM1OTIwYjg2NzRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9JUEMvQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5l
Y3Rpb24uaApAQCAtMjEyLDcgKzIxMiw2IEBAIHB1YmxpYzoKICAgICBlbnVtIFVuaXF1ZUlEVHlw
ZSB7IH07CiAgICAgdXNpbmcgVW5pcXVlSUQgPSBPYmplY3RJZGVudGlmaWVyPFVuaXF1ZUlEVHlw
ZT47CiAKLSAgICBzdGF0aWMgQ29ubmVjdGlvbiogY29ubmVjdGlvbihVbmlxdWVJRCk7CiAgICAg
VW5pcXVlSUQgdW5pcXVlSUQoKSBjb25zdCB7IHJldHVybiBtX3VuaXF1ZUlEOyB9CiAKICAgICB2
b2lkIHNldE9ubHlTZW5kTWVzc2FnZXNBc0Rpc3BhdGNoV2hlbldhaXRpbmdGb3JTeW5jUmVwbHlX
aGVuUHJvY2Vzc2luZ1N1Y2hBTWVzc2FnZShib29sKTsK
</data>
<flag name="review"
          id="484162"
          type_id="1"
          status="?"
          setter="kkinnunen"
    />
    <flag name="commit-queue"
          id="484304"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>