<?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>165740</bug_id>
          
          <creation_ts>2016-12-10 18:12:52 -0800</creation_ts>
          <short_desc>Use standard vsnprintf instead of non-standard vasprintf</short_desc>
          <delta_ts>2016-12-11 16:57:36 -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>WebCore Misc.</component>
          <version>WebKit 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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>krollin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1258801</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-10 18:12:52 -0800</bug_when>
    <thetext>Use std::vsnprintf instead of vasprintf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258802</commentid>
    <comment_count>1</comment_count>
      <attachid>296836</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-10 18:15:12 -0800</bug_when>
    <thetext>Created attachment 296836
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258848</commentid>
    <comment_count>2</comment_count>
      <attachid>296860</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-11 06:30:48 -0800</bug_when>
    <thetext>Created attachment 296860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258888</commentid>
    <comment_count>3</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-12-11 14:07:00 -0800</bug_when>
    <thetext>Just a thought: instead of repeating the same six lines in several places, wrap them up in a utility function in StdLibExtras or something?

template&lt;typename T, int capacity)
Vector&lt;T, capacity &gt; vecprintf(format, ...);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258902</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-11 15:45:37 -0800</bug_when>
    <thetext>Yes I think it is a good idea that I might pursue later.

Returning a vector with inline capacity is inefficient though. So I would want to avoid that. Maybe pass in a function that gets the string passed into it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258924</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-11 16:57:36 -0800</bug_when>
    <thetext>Committed r209689: &lt;http://trac.webkit.org/changeset/209689&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296836</attachid>
            <date>2016-12-10 18:15:12 -0800</date>
            <delta_ts>2016-12-11 06:30:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165740-20161210181427.patch</filename>
            <type>text/plain</type>
            <size>6392</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5Njc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRlNzg0YTc5YmRjMmU2NDc0NDFiZmFj
NzBhNzc5ODk5Mjk2MjJlZTAuLmUzZWQ5YjQ1MzBjZWFlYWU1NTEwZDEwYjZmODEyOGNhM2I3NGVk
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMTItMTAgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFVzZSBzdGQ6OnZzbnByaW50ZiBpbnN0ZWFkIG9mIHZhc3By
aW50ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1
NzQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
dGYvUGxhdGZvcm0uaDogUmVtb3ZlIEhBVkVfVkFTUFJJTlRGLgorCiAyMDE2LTEyLTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQXZvaWQgY2FsbGluZyBzaHJp
bmsoKSBpbiB0aGUgVmVjdG9yIGRlc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2YTkyZWViMDRlODMw
NWVhMGNkODA2YmNlZjJjZjBkMzk3YzVmNGE0Li40Yzg4MzBiNGE0MzFmMTUzYTMyNDYxYzhkMDFh
ODJkYTA1Mjg5NmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMTItMTAgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBzdGQ6OnZzbnByaW50
ZiBpbnN0ZWFkIG9mIHZhc3ByaW50ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY1NzQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZpbGVIYW5kbGU6OnByaW50Zik6IFVzZSB2c25wcmludGYgYW5kIFZlY3Rvci4gVXNlIGlu
bGluZSBjYXBhY2l0eSBpbgorICAgICAgICB0aGUgdmVjdG9yIHNvIHdlIG5vcm1hbGx5IGRvbid0
IG5lZWQgdG8gYWxsb2NhdGUgYW55IG1lbW9yeSBvbiB0aGUgaGVhcC4KKyAgICAgICAgKiB4bWwv
WFNMVFVuaWNvZGVTb3J0LmNwcDoKKyAgICAgICAgKHhzbHRUcmFuc2Zvcm1FcnJvclRyYW1wb2xp
bmUpOiBEaXR0by4KKyAgICAgICAgKiB4bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyTGlieG1s
Mi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6ZXJyb3IpOiBEaXR0
by4KKwogMjAxNi0xMi0xMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
IAogICAgICAgICBTdXBwb3J0IHRoZSBkZXByZWNhdGVkIGRpY3Rpb25hcnkgY29uc3RydWN0b3Ig
Zm9yIERPTVBvaW50UmVhZE9ubHkgYW5kIERPTVBvaW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRleCA0ZmQ5MDFm
ZTlkNTNlNTllNjQzNDkxZmUzNjRiMzlhYWY2YmQyYjkwLi5kZTMyODdkYmQxMTI3MzgyOGY1MWUw
MDBhZjE3ZGZkZTk5ZDA5YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTYzMywxMiArNjMzLDYgQEAKICNk
ZWZpbmUgVVNFX1BUSFJFQURTIDEKICNlbmRpZiAvKiBPUyhVTklYKSAqLwogCi0jaWYgIWRlZmlu
ZWQoSEFWRV9WQVNQUklOVEYpCi0jaWYgIUNPTVBJTEVSKE1TVkMpICYmICFDT01QSUxFUihNSU5H
VykKLSNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQotI2VuZGlmCi0jZW5kaWYKLQogI2lmIE9TKERB
UldJTikKICNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKICNkZWZpbmUgSEFWRV9NQURWX0ZSRUUg
MQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUhhbmRsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlSGFuZGxlLmNwcAppbmRleCAyYWY3MjQwMGI4NjYw
YTg4NmJhMWQ3YjU5OWY3ZDFlNzg1YzBlZTIxLi5iYjBmYjY5NjliNTdmYzAzMTM2MzhiMmJkMGE2
MzQ3OTRmZDcwODQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlSGFu
ZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlSGFuZGxlLmNwcApAQCAt
MTAwLDIzICsxMDAsMjAgQEAgaW50IEZpbGVIYW5kbGU6OndyaXRlKGNvbnN0IHZvaWQqIGRhdGEs
IGludCBsZW5ndGgpCiAKIGJvb2wgRmlsZUhhbmRsZTo6cHJpbnRmKGNvbnN0IGNoYXIqIGZvcm1h
dCwgLi4uKQogewotI2lmIE9TKFdJTkRPV1MpCi0gICAgLy8gVE9ETzogaW1wbGVtZW50IHRoaXMg
d2l0aG91dCByZWx5aW5nIG9uIHZhc3ByaW50Zi4KLSAgICByZXR1cm4gZmFsc2U7Ci0jZWxzZQog
ICAgIHZhX2xpc3QgYXJnczsKICAgICB2YV9zdGFydChhcmdzLCBmb3JtYXQpOwogCi0gICAgY2hh
ciogYnVmZmVyID0gbnVsbHB0cjsKLSAgICBpZiAodmFzcHJpbnRmKCZidWZmZXIsIGZvcm1hdCwg
YXJncykgPT0gLTEpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBhdXRvIHdyaXRlUmVzdWx0
ID0gd3JpdGUoYnVmZmVyLCBzdHJsZW4oYnVmZmVyKSk7Ci0gICAgZnJlZShidWZmZXIpOworICAg
IHZhX2xpc3QgcHJlZmxpZ2h0QXJnczsKKyAgICB2YV9jb3B5KHByZWZsaWdodEFyZ3MsIGFyZ3Mp
OworICAgIHNpemVfdCBzdHJpbmdMZW5ndGggPSBzdGQ6OnZzbnByaW50ZihudWxscHRyLCAwLCBm
b3JtYXQsIHByZWZsaWdodEFyZ3MpOworICAgIHZhX2VuZChwcmVmbGlnaHRBcmdzKTsKKworICAg
IFZlY3RvcjxjaGFyLCAxMDI0PiBidWZmZXIoc3RyaW5nTGVuZ3RoICsgMSk7CisgICAgc3RkOjp2
c25wcmludGYoYnVmZmVyLmRhdGEoKSwgc3RyaW5nTGVuZ3RoICsgMSwgZm9ybWF0LCBhcmdzKTsK
IAogICAgIHZhX2VuZChhcmdzKTsKIAotICAgIHJldHVybiB3cml0ZVJlc3VsdCA+PSAwOwotI2Vu
ZGlmCisgICAgcmV0dXJuIHdyaXRlKGJ1ZmZlci5kYXRhKCksIHN0cmluZ0xlbmd0aCkgPj0gMDsK
IH0KIAogdm9pZCBGaWxlSGFuZGxlOjpjbG9zZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFNMVFVuaWNvZGVTb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUVW5pY29k
ZVNvcnQuY3BwCmluZGV4IGQ2ZjE2M2QyNjAxNjRmOTUzYmViY2VhNDJmN2QyNGU5MGRlZjA2OWUu
LjQ2NWZlNGExYjQ2Mzk0NjM2NDRhYmFjOGVjNmFkZWEzNGQ5ZjAyYzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YU0xUVW5pY29kZVNvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YU0xUVW5pY29kZVNvcnQuY3BwCkBAIC0zMSw4ICszMSwxMCBAQAogCiAjaWYgRU5BQkxF
KFhTTFQpCiAKKyNpbmNsdWRlIDxjc3RkaW8+CiAjaW5jbHVkZSA8bGlieHNsdC90ZW1wbGF0ZXMu
aD4KICNpbmNsdWRlIDxsaWJ4c2x0L3hzbHR1dGlscy5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Db2xsYXRvci5oPgogCiAjaWYgT1MoREFSV0lOKSAm
JiAhUExBVEZPUk0oRUZMKSAmJiAhUExBVEZPUk0oR1RLKQpAQCAtNTEsMTUgKzUzLDE5IEBAIHZv
aWQgeHNsdFRyYW5zZm9ybUVycm9yVHJhbXBvbGluZSh4c2x0VHJhbnNmb3JtQ29udGV4dFB0ciBj
b250ZXh0LCB4c2x0U3R5bGVzaGVlCiB7CiAgICAgdmFfbGlzdCBhcmdzOwogICAgIHZhX3N0YXJ0
KGFyZ3MsIG1lc3NhZ2UpOwotICAgIGNoYXIqIG1lc3NhZ2VXaXRoQXJnczsKLSAgICB2YXNwcmlu
dGYoJm1lc3NhZ2VXaXRoQXJncywgbWVzc2FnZSwgYXJncyk7CisKKyAgICB2YV9saXN0IHByZWZs
aWdodEFyZ3M7CisgICAgdmFfY29weShwcmVmbGlnaHRBcmdzLCBhcmdzKTsKKyAgICBzaXplX3Qg
c3RyaW5nTGVuZ3RoID0gc3RkOjp2c25wcmludGYobnVsbHB0ciwgMCwgbWVzc2FnZSwgcHJlZmxp
Z2h0QXJncyk7CisgICAgdmFfZW5kKHByZWZsaWdodEFyZ3MpOworCisgICAgVmVjdG9yPGNoYXIs
IDEwMjQ+IGJ1ZmZlcihzdHJpbmdMZW5ndGggKyAxKTsKKyAgICBzdGQ6OnZzbnByaW50ZihidWZm
ZXIuZGF0YSgpLCBzdHJpbmdMZW5ndGggKyAxLCBtZXNzYWdlLCBhcmdzKTsKICAgICB2YV9lbmQo
YXJncyk7CiAKICAgICBzdGF0aWMgdm9pZCAoKnhzbHRUcmFuc2Zvcm1FcnJvclBvaW50ZXIpKHhz
bHRUcmFuc2Zvcm1Db250ZXh0UHRyLCB4c2x0U3R5bGVzaGVldFB0ciwgeG1sTm9kZVB0ciwgY29u
c3QgY2hhciosIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNCwgNSkKICAgICAgICAgPSByZWlu
dGVycHJldF9jYXN0PHZvaWQgKCopKHhzbHRUcmFuc2Zvcm1Db250ZXh0UHRyLCB4c2x0U3R5bGVz
aGVldFB0ciwgeG1sTm9kZVB0ciwgY29uc3QgY2hhciosIC4uLik+KGRsc3ltKGxpYnhzbHRMaWJy
YXJ5KCksICJ4c2x0VHJhbnNmb3JtRXJyb3IiKSk7Ci0gICAgeHNsdFRyYW5zZm9ybUVycm9yUG9p
bnRlcihjb250ZXh0LCBzdHlsZSwgbm9kZSwgIiVzIiwgbWVzc2FnZVdpdGhBcmdzKTsKLQotICAg
IGZyZWUobWVzc2FnZVdpdGhBcmdzKTsKKyAgICB4c2x0VHJhbnNmb3JtRXJyb3JQb2ludGVyKGNv
bnRleHQsIHN0eWxlLCBub2RlLCAiJXMiLCBidWZmZXIuZGF0YSgpKTsKIH0KIAogI2RlZmluZSB4
c2x0VHJhbnNmb3JtRXJyb3IgeHNsdFRyYW5zZm9ybUVycm9yVHJhbXBvbGluZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3Bw
IGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3Bw
CmluZGV4IGRjM2JmNzBmNGFiYWM5NmNhMWYzZjhlMGJhMDA4MDlmYzliYjUwYzkuLjlkNWRhNWEy
N2Y2OGU2MDk4YzRkMzFlOGJkYzA4OWQwZDExOThkMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTkxNiwy
NCArOTE2LDE5IEBAIHZvaWQgWE1MRG9jdW1lbnRQYXJzZXI6OmVycm9yKFhNTEVycm9yczo6RXJy
b3JUeXBlIHR5cGUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHZhCiAgICAgaWYgKGlzU3RvcHBlZCgp
KQogICAgICAgICByZXR1cm47CiAKLSNpZiBIQVZFKFZBU1BSSU5URikKLSAgICBjaGFyKiBtOwot
ICAgIGlmICh2YXNwcmludGYoJm0sIG1lc3NhZ2UsIGFyZ3MpID09IC0xKQotICAgICAgICByZXR1
cm47Ci0jZWxzZQotICAgIGNoYXIgbVsxMDI0XTsKLSAgICB2c25wcmludGYobSwgc2l6ZW9mKG0p
IC0gMSwgbWVzc2FnZSwgYXJncyk7Ci0jZW5kaWYKKyAgICB2YV9saXN0IHByZWZsaWdodEFyZ3M7
CisgICAgdmFfY29weShwcmVmbGlnaHRBcmdzLCBhcmdzKTsKKyAgICBzaXplX3Qgc3RyaW5nTGVu
Z3RoID0gc3RkOjp2c25wcmludGYobnVsbHB0ciwgMCwgbWVzc2FnZSwgcHJlZmxpZ2h0QXJncyk7
CisgICAgdmFfZW5kKHByZWZsaWdodEFyZ3MpOworCisgICAgVmVjdG9yPGNoYXIsIDEwMjQ+IGJ1
ZmZlcihzdHJpbmdMZW5ndGggKyAxKTsKKyAgICBzdGQ6OnZzbnByaW50ZihidWZmZXIuZGF0YSgp
LCBzdHJpbmdMZW5ndGggKyAxLCBtZXNzYWdlLCBhcmdzKTsKIAogICAgIFRleHRQb3NpdGlvbiBw
b3NpdGlvbiA9IHRleHRQb3NpdGlvbigpOwogICAgIGlmIChtX3BhcnNlclBhdXNlZCkKLSAgICAg
ICAgbV9wZW5kaW5nQ2FsbGJhY2tzLT5hcHBlbmRFcnJvckNhbGxiYWNrKHR5cGUsIHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgeG1sQ2hhcio+KG0pLCBwb3NpdGlvbi5tX2xpbmUsIHBvc2l0aW9uLm1f
Y29sdW1uKTsKKyAgICAgICAgbV9wZW5kaW5nQ2FsbGJhY2tzLT5hcHBlbmRFcnJvckNhbGxiYWNr
KHR5cGUsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgeG1sQ2hhcio+KGJ1ZmZlci5kYXRhKCkpLCBw
b3NpdGlvbi5tX2xpbmUsIHBvc2l0aW9uLm1fY29sdW1uKTsKICAgICBlbHNlCi0gICAgICAgIGhh
bmRsZUVycm9yKHR5cGUsIG0sIHRleHRQb3NpdGlvbigpKTsKLQotI2lmIEhBVkUoVkFTUFJJTlRG
KQotICAgIGZyZWUobSk7Ci0jZW5kaWYKKyAgICAgICAgaGFuZGxlRXJyb3IodHlwZSwgYnVmZmVy
LmRhdGEoKSwgdGV4dFBvc2l0aW9uKCkpOwogfQogCiB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjpw
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24oY29uc3QgeG1sQ2hhciogdGFyZ2V0LCBjb25zdCB4bWxDaGFy
KiBkYXRhKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296860</attachid>
            <date>2016-12-11 06:30:48 -0800</date>
            <delta_ts>2016-12-11 11:31:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165740-20161211063002.patch</filename>
            <type>text/plain</type>
            <size>8839</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5NjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDViZjZkYmFiYzI2YmRjMDhmNjIxMDdh
M2QwNzAxOTZhZDU1NjU3YWEuLjFlOTdhY2RiZjlkNmU0ZGQ1ZDdkZWYzZDVhYjM2N2VjY2E1YTg4
YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTYtMTItMTEgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFVzZSBzdGQ6OnZzbnByaW50ZiBpbnN0ZWFkIG9mIHZhc3By
aW50ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1
NzQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
dGYvUGxhdGZvcm0uaDogUmVtb3ZlIEhBVkVfVkFTUFJJTlRGLgorICAgICAgICAqIHd0Zi9TdHJp
bmdFeHRyYXMuaDogQ2hhbmdlIHRoZSB2c25wcmludGYgd29ya2Fyb3VuZCB0byBiZSB1c2VkIG9u
bHkKKyAgICAgICAgaW4gb2xkZXIgdmVyc2lvbnMgb2YgVmlzdWFsIFN0dWRpbywgc2luY2UgdGhl
IHByb2JsZW0gaXQgd29ya3MgYXJvdW5kCisgICAgICAgIHdhcyByZXNvbHZlZCBpbiBWaXN1YWwg
U3R1ZGlvIDIwMTUuCisKIDIwMTYtMTItMTAgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDk2NTMsIHIy
MDk2NTQsIHIyMDk2NjMsIGFuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDgzMzk2Y2MxODkzZGZiMmUwNDM4ODEy
ZjAyMTRmNmI3MzI1ZDlkZGQuLjg2YWZiN2JhZmM0OWI3NzcyYzEyZTlmZjVkZDBjYzIyNWQ5ZmMz
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNi0xMi0xMSAgRGFyaW4gQWRsZXIg
IDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHN0ZDo6dnNucHJpbnRmIGluc3RlYWQg
b2YgdmFzcHJpbnRmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjU3NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHBsYXRmb3JtL0ZpbGVIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUhh
bmRsZTo6cHJpbnRmKTogVXNlIHZzbnByaW50ZiwgaW5jbHVkaW5nIFN0cmluZ0V4dHJhcy5oIHRv
CisgICAgICAgIGVuc3VyZSBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgdGhl
IFZpc3VhbCBTdHVkaW8gbGlicmFyeSwKKyAgICAgICAgYW5kIFZlY3RvciBmb3IgdGhlIGJ1ZmZl
ci4gVXNlIGlubGluZSBjYXBhY2l0eSBpbiB0aGUgdmVjdG9yIHNvIHdlIG5vcm1hbGx5CisgICAg
ICAgIGRvbid0IG5lZWQgdG8gYWxsb2NhdGUgYW55IG1lbW9yeSBvbiB0aGUgaGVhcC4KKyAgICAg
ICAgKiB4bWwvWFNMVFVuaWNvZGVTb3J0LmNwcDoKKyAgICAgICAgKHhzbHRUcmFuc2Zvcm1FcnJv
clRyYW1wb2xpbmUpOiBEaXR0by4KKyAgICAgICAgKiB4bWwvcGFyc2VyL1hNTERvY3VtZW50UGFy
c2VyTGlieG1sMi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6ZXJy
b3IpOiBEaXR0by4KKwogMjAxNi0xMi0xMSAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5
YW5kZXgucnU+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYWRkIEtIUiBpbmNsdWRlIGRpciB0byBm
aXggQU5HTEUgYnVpbGQgYWZ0ZXIgcjIwOTY2NQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggYWUzYzgyNmY0NGY3
NmJkNDVmNjMzZDgxNTNhZDlmN2I3NjkwNjQ3ZC4uNmY5Mjc1OTc5Y2UzMjYzYTI0YjVjOTQ1ZDZk
NGM2MjAyY2RhZjI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC02MzMsMTIgKzYzMyw2IEBACiAjZGVmaW5l
IFVTRV9QVEhSRUFEUyAxCiAjZW5kaWYgLyogT1MoVU5JWCkgKi8KIAotI2lmICFkZWZpbmVkKEhB
VkVfVkFTUFJJTlRGKQotI2lmICFDT01QSUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoTUlOR1cpCi0j
ZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKLSNlbmRpZgotI2VuZGlmCi0KICNpZiBPUyhEQVJXSU4p
CiAjZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAxCiAjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1N0cmluZ0V4dHJhcy5oIGIvU291cmNlL1dURi93dGYv
U3RyaW5nRXh0cmFzLmgKaW5kZXggNjA2NDRmOTcyM2YzOGYyZTFiNjhjNWI3NjhjMmExMTIzZWU3
ZmI4Ni4uNmQzNmZiZjllNDJlYjUwOTY2MzFhNDA3NDZjY2VmNmYzMDlhZjJhYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvU3RyaW5nRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvU3Ry
aW5nRXh0cmFzLmgKQEAgLTM1LDEzICszNSwxNyBAQAogI2luY2x1ZGUgPHN0cmluZ3MuaD4gCiAj
ZW5kaWYgCiAKLSNpZiBDT01QSUxFUihNU1ZDKQotLy8gRklYTUU6IHdoeSBhIENPTVBJTEVSIGNo
ZWNrIGluc3RlYWQgb2YgT1M/IGFsc28sIHRoZXNlIHNob3VsZCBiZSBIQVZFIGNoZWNrcworI2lm
IENPTVBJTEVSKE1TVkMpICYmIF9NU0NfVkVSIDwgMTkwMAorCisvLyBJbiB2ZXJzaW9ucyBvZiB0
aGUgTWljcm9zb2Z0IGxpYnJhcnkgYmVmb3JlIFZpc3VhbCBTdHVkaW8gMjAxNSwgc25wcmludGYg
YW5kIHZzbnByaW50ZgorLy8gZGlkIG5vdCBudWxsLXRlcm1pbmF0ZSB3aGVuIHRoZSByZXN1bHQg
ZW50aXJlbHkgZmlsbGVkIHRoZSBidWZmZXIuIFRoZSBmb2xsb3dpbmcgd29yaworLy8gYXJvdW5k
IHRoYXQgbGltaXRhdGlvbi4gVGhpcyBtZWFucyB0aGF0IGFueSBmaWxlIHVzaW5nIHNucHJpbnRm
IG9yIHZzbnByaW50ZiBuZWVkcyB0bworLy8gaW5jbHVkZSB0aGlzIGhlYWRlciBhbmQgdXNlIHRo
ZSBnbG9iYWwgbmFtZXNwYWNlIHN0eWxlIHRvIGludm9rZSBpdCwgbm90IHRoZSBzdGQKKy8vIG5h
bWVzcGFjZSBzdHlsZS4KIAogI2luY2x1ZGUgPGVycm5vLmg+CiAKLSNpZiBfTVNDX1ZFUiA8IDE5
MDAKLWlubGluZSBpbnQgc25wcmludGYoY2hhciogYnVmZmVyLCBzaXplX3QgY291bnQsIGNvbnN0
IGNoYXIqIGZvcm1hdCwgLi4uKSAKK2lubGluZSBpbnQgc25wcmludGYoY2hhciogYnVmZmVyLCBz
aXplX3QgY291bnQsIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKQogewogICAgIGludCByZXN1bHQ7
CiAgICAgdmFfbGlzdCBhcmdzOwpAQCAtNTgsNyArNjIsNiBAQCBpbmxpbmUgaW50IHNucHJpbnRm
KGNoYXIqIGJ1ZmZlciwgc2l6ZV90IGNvdW50LCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikKIAog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci0jZW5kaWYKIAogaW5saW5lIGRvdWJsZSB3dGZfdnNucHJp
bnRmKGNoYXIqIGJ1ZmZlciwgc2l6ZV90IGNvdW50LCBjb25zdCBjaGFyKiBmb3JtYXQsIHZhX2xp
c3QgYXJncykKIHsKQEAgLTc0LDEwICs3NywxNiBAQCBpbmxpbmUgZG91YmxlIHd0Zl92c25wcmlu
dGYoY2hhciogYnVmZmVyLCBzaXplX3QgY291bnQsIGNvbnN0IGNoYXIqIGZvcm1hdCwgdmFfbAog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8vIFdvcmsgYXJvdW5kIGEgZGlmZmVyZW5jZSBpbiBN
aWNyb3NvZnQncyBpbXBsZW1lbnRhdGlvbiBvZiB2c25wcmludGYsIHdoZXJlIAorLy8gV29yayBh
cm91bmQgYSBkaWZmZXJlbmNlIGluIE1pY3Jvc29mdCdzIGltcGxlbWVudGF0aW9uIG9mIHZzbnBy
aW50Ziwgd2hlcmUKIC8vIHZzbnByaW50ZiBkb2VzIG5vdCBudWxsIHRlcm1pbmF0ZSB0aGUgYnVm
ZmVyLiBXZWJLaXQgY2FuIHJlbHkgb24gdGhlIG51bGwgdGVybWluYXRpb24uCiAjZGVmaW5lIHZz
bnByaW50ZihidWZmZXIsIGNvdW50LCBmb3JtYXQsIGFyZ3MpIHd0Zl92c25wcmludGYoYnVmZmVy
LCBjb3VudCwgZm9ybWF0LCBhcmdzKQogCisjZW5kaWYKKworI2lmIENPTVBJTEVSKE1TVkMpCisK
Ky8vIEZJWE1FOiBXZSBzaG91bGQgc3RvcCB1c2luZyB0aGVzZSBlbnRpcmVseSBhbmQgdXNlIHN1
aXRhYmxlIHZlcnNpb25zIG9mIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UgaW5zdGVhZC4KKwogaW5s
aW5lIGludCBzdHJuY2FzZWNtcChjb25zdCBjaGFyKiBzMSwgY29uc3QgY2hhciogczIsIHNpemVf
dCBsZW4pCiB7CiAgICAgcmV0dXJuIF9zdHJuaWNtcChzMSwgczIsIGxlbik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0ZpbGVIYW5kbGUuY3BwCmluZGV4IDJhZjcyNDAwYjg2NjBhODg2YmExZDdiNTk5
ZjdkMWU3ODVjMGVlMjEuLjgwM2E4MjA5YjJjMTllZGE5ZjA4NjQ1ZmIzZjcyYjEwNzg3OWM5ZWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVIYW5kbGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVIYW5kbGUuY3BwCkBAIC0yOSw4ICsyOSw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRmlsZUhhbmRsZS5oIgogCi0jaW5jbHVk
ZSA8c3RkYXJnLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0
cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTAwLDIzICs5OSwyMCBAQCBpbnQg
RmlsZUhhbmRsZTo6d3JpdGUoY29uc3Qgdm9pZCogZGF0YSwgaW50IGxlbmd0aCkKIAogYm9vbCBG
aWxlSGFuZGxlOjpwcmludGYoY29uc3QgY2hhciogZm9ybWF0LCAuLi4pCiB7Ci0jaWYgT1MoV0lO
RE9XUykKLSAgICAvLyBUT0RPOiBpbXBsZW1lbnQgdGhpcyB3aXRob3V0IHJlbHlpbmcgb24gdmFz
cHJpbnRmLgotICAgIHJldHVybiBmYWxzZTsKLSNlbHNlCiAgICAgdmFfbGlzdCBhcmdzOwogICAg
IHZhX3N0YXJ0KGFyZ3MsIGZvcm1hdCk7CiAKLSAgICBjaGFyKiBidWZmZXIgPSBudWxscHRyOwot
ICAgIGlmICh2YXNwcmludGYoJmJ1ZmZlciwgZm9ybWF0LCBhcmdzKSA9PSAtMSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIGF1dG8gd3JpdGVSZXN1bHQgPSB3cml0ZShidWZmZXIsIHN0cmxl
bihidWZmZXIpKTsKLSAgICBmcmVlKGJ1ZmZlcik7CisgICAgdmFfbGlzdCBwcmVmbGlnaHRBcmdz
OworICAgIHZhX2NvcHkocHJlZmxpZ2h0QXJncywgYXJncyk7CisgICAgc2l6ZV90IHN0cmluZ0xl
bmd0aCA9IHZzbnByaW50ZihudWxscHRyLCAwLCBmb3JtYXQsIHByZWZsaWdodEFyZ3MpOworICAg
IHZhX2VuZChwcmVmbGlnaHRBcmdzKTsKKworICAgIFZlY3RvcjxjaGFyLCAxMDI0PiBidWZmZXIo
c3RyaW5nTGVuZ3RoICsgMSk7CisgICAgdnNucHJpbnRmKGJ1ZmZlci5kYXRhKCksIHN0cmluZ0xl
bmd0aCArIDEsIGZvcm1hdCwgYXJncyk7CiAKICAgICB2YV9lbmQoYXJncyk7CiAKLSAgICByZXR1
cm4gd3JpdGVSZXN1bHQgPj0gMDsKLSNlbmRpZgorICAgIHJldHVybiB3cml0ZShidWZmZXIuZGF0
YSgpLCBzdHJpbmdMZW5ndGgpID49IDA7CiB9CiAKIHZvaWQgRmlsZUhhbmRsZTo6Y2xvc2UoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRVbmljb2RlU29ydC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFNMVFVuaWNvZGVTb3J0LmNwcAppbmRleCBkNmYxNjNkMjYwMTY0Zjk1
M2JlYmNlYTQyZjdkMjRlOTBkZWYwNjllLi41NTdiNDkxYTQ3MmUwMGZmZjM2NTJlNWM3YmE1M2U3
YTBiYTU4YmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFVuaWNvZGVTb3J0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFVuaWNvZGVTb3J0LmNwcApAQCAtMzMs
NiArMzMsOCBAQAogCiAjaW5jbHVkZSA8bGlieHNsdC90ZW1wbGF0ZXMuaD4KICNpbmNsdWRlIDxs
aWJ4c2x0L3hzbHR1dGlscy5oPgorI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KKyNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ29sbGF0b3IuaD4KIAog
I2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKEVGTCkgJiYgIVBMQVRGT1JNKEdUSykKQEAgLTUx
LDE1ICs1MywxOSBAQCB2b2lkIHhzbHRUcmFuc2Zvcm1FcnJvclRyYW1wb2xpbmUoeHNsdFRyYW5z
Zm9ybUNvbnRleHRQdHIgY29udGV4dCwgeHNsdFN0eWxlc2hlZQogewogICAgIHZhX2xpc3QgYXJn
czsKICAgICB2YV9zdGFydChhcmdzLCBtZXNzYWdlKTsKLSAgICBjaGFyKiBtZXNzYWdlV2l0aEFy
Z3M7Ci0gICAgdmFzcHJpbnRmKCZtZXNzYWdlV2l0aEFyZ3MsIG1lc3NhZ2UsIGFyZ3MpOworCisg
ICAgdmFfbGlzdCBwcmVmbGlnaHRBcmdzOworICAgIHZhX2NvcHkocHJlZmxpZ2h0QXJncywgYXJn
cyk7CisgICAgc2l6ZV90IHN0cmluZ0xlbmd0aCA9IHZzbnByaW50ZihudWxscHRyLCAwLCBtZXNz
YWdlLCBwcmVmbGlnaHRBcmdzKTsKKyAgICB2YV9lbmQocHJlZmxpZ2h0QXJncyk7CisKKyAgICBW
ZWN0b3I8Y2hhciwgMTAyND4gYnVmZmVyKHN0cmluZ0xlbmd0aCArIDEpOworICAgIHZzbnByaW50
ZihidWZmZXIuZGF0YSgpLCBzdHJpbmdMZW5ndGggKyAxLCBtZXNzYWdlLCBhcmdzKTsKICAgICB2
YV9lbmQoYXJncyk7CiAKICAgICBzdGF0aWMgdm9pZCAoKnhzbHRUcmFuc2Zvcm1FcnJvclBvaW50
ZXIpKHhzbHRUcmFuc2Zvcm1Db250ZXh0UHRyLCB4c2x0U3R5bGVzaGVldFB0ciwgeG1sTm9kZVB0
ciwgY29uc3QgY2hhciosIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNCwgNSkKICAgICAgICAg
PSByZWludGVycHJldF9jYXN0PHZvaWQgKCopKHhzbHRUcmFuc2Zvcm1Db250ZXh0UHRyLCB4c2x0
U3R5bGVzaGVldFB0ciwgeG1sTm9kZVB0ciwgY29uc3QgY2hhciosIC4uLik+KGRsc3ltKGxpYnhz
bHRMaWJyYXJ5KCksICJ4c2x0VHJhbnNmb3JtRXJyb3IiKSk7Ci0gICAgeHNsdFRyYW5zZm9ybUVy
cm9yUG9pbnRlcihjb250ZXh0LCBzdHlsZSwgbm9kZSwgIiVzIiwgbWVzc2FnZVdpdGhBcmdzKTsK
LQotICAgIGZyZWUobWVzc2FnZVdpdGhBcmdzKTsKKyAgICB4c2x0VHJhbnNmb3JtRXJyb3JQb2lu
dGVyKGNvbnRleHQsIHN0eWxlLCBub2RlLCAiJXMiLCBidWZmZXIuZGF0YSgpKTsKIH0KIAogI2Rl
ZmluZSB4c2x0VHJhbnNmb3JtRXJyb3IgeHNsdFRyYW5zZm9ybUVycm9yVHJhbXBvbGluZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlckxpYnht
bDIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlckxpYnht
bDIuY3BwCmluZGV4IGRjM2JmNzBmNGFiYWM5NmNhMWYzZjhlMGJhMDA4MDlmYzliYjUwYzkuLjcw
Njc2NzZkZDE3YTc0ZDllNDI3MjlkM2QyOWQzZGQ4ZThhN2Y4Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAg
LTkxNiwyNCArOTE2LDE5IEBAIHZvaWQgWE1MRG9jdW1lbnRQYXJzZXI6OmVycm9yKFhNTEVycm9y
czo6RXJyb3JUeXBlIHR5cGUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHZhCiAgICAgaWYgKGlzU3Rv
cHBlZCgpKQogICAgICAgICByZXR1cm47CiAKLSNpZiBIQVZFKFZBU1BSSU5URikKLSAgICBjaGFy
KiBtOwotICAgIGlmICh2YXNwcmludGYoJm0sIG1lc3NhZ2UsIGFyZ3MpID09IC0xKQotICAgICAg
ICByZXR1cm47Ci0jZWxzZQotICAgIGNoYXIgbVsxMDI0XTsKLSAgICB2c25wcmludGYobSwgc2l6
ZW9mKG0pIC0gMSwgbWVzc2FnZSwgYXJncyk7Ci0jZW5kaWYKKyAgICB2YV9saXN0IHByZWZsaWdo
dEFyZ3M7CisgICAgdmFfY29weShwcmVmbGlnaHRBcmdzLCBhcmdzKTsKKyAgICBzaXplX3Qgc3Ry
aW5nTGVuZ3RoID0gdnNucHJpbnRmKG51bGxwdHIsIDAsIG1lc3NhZ2UsIHByZWZsaWdodEFyZ3Mp
OworICAgIHZhX2VuZChwcmVmbGlnaHRBcmdzKTsKKworICAgIFZlY3RvcjxjaGFyLCAxMDI0PiBi
dWZmZXIoc3RyaW5nTGVuZ3RoICsgMSk7CisgICAgdnNucHJpbnRmKGJ1ZmZlci5kYXRhKCksIHN0
cmluZ0xlbmd0aCArIDEsIG1lc3NhZ2UsIGFyZ3MpOwogCiAgICAgVGV4dFBvc2l0aW9uIHBvc2l0
aW9uID0gdGV4dFBvc2l0aW9uKCk7CiAgICAgaWYgKG1fcGFyc2VyUGF1c2VkKQotICAgICAgICBt
X3BlbmRpbmdDYWxsYmFja3MtPmFwcGVuZEVycm9yQ2FsbGJhY2sodHlwZSwgcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB4bWxDaGFyKj4obSksIHBvc2l0aW9uLm1fbGluZSwgcG9zaXRpb24ubV9jb2x1
bW4pOworICAgICAgICBtX3BlbmRpbmdDYWxsYmFja3MtPmFwcGVuZEVycm9yQ2FsbGJhY2sodHlw
ZSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB4bWxDaGFyKj4oYnVmZmVyLmRhdGEoKSksIHBvc2l0
aW9uLm1fbGluZSwgcG9zaXRpb24ubV9jb2x1bW4pOwogICAgIGVsc2UKLSAgICAgICAgaGFuZGxl
RXJyb3IodHlwZSwgbSwgdGV4dFBvc2l0aW9uKCkpOwotCi0jaWYgSEFWRShWQVNQUklOVEYpCi0g
ICAgZnJlZShtKTsKLSNlbmRpZgorICAgICAgICBoYW5kbGVFcnJvcih0eXBlLCBidWZmZXIuZGF0
YSgpLCB0ZXh0UG9zaXRpb24oKSk7CiB9CiAKIHZvaWQgWE1MRG9jdW1lbnRQYXJzZXI6OnByb2Nl
c3NpbmdJbnN0cnVjdGlvbihjb25zdCB4bWxDaGFyKiB0YXJnZXQsIGNvbnN0IHhtbENoYXIqIGRh
dGEpCg==
</data>
<flag name="review"
          id="319243"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>