<?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>129237</bug_id>
          
          <creation_ts>2014-02-23 15:55:41 -0800</creation_ts>
          <short_desc>ANGLE: Stop using unsafe strcpy method</short_desc>
          <delta_ts>2014-02-24 03:09:22 -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>ANGLE</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>https://code.google.com/p/angleproject/issues/detail?id=307</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>kbr</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>roger_fong</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>983753</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-23 15:55:41 -0800</bug_when>
    <thetext>ANGLE should stop using the unsafe strcpy method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983754</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-23 15:56:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/11077580&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983755</commentid>
    <comment_count>2</comment_count>
      <attachid>225016</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-23 16:13:46 -0800</bug_when>
    <thetext>Created attachment 225016
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983756</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-23 16:15:53 -0800</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983757</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-23 16:15:59 -0800</bug_when>
    <thetext>Attachment 225016 did not pass style-queue:


ERROR: Source/ThirdParty/ANGLE/src/libGLESv2/Program.cpp:118:  Declaration has space between type name and * in char *newLog  [whitespace/declaration] [3]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983758</commentid>
    <comment_count>5</comment_count>
      <attachid>225016</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-23 16:19:11 -0800</bug_when>
    <thetext>Comment on attachment 225016
Patch v1

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

&gt; Source/ThirdParty/ANGLE/src/common/angleutils.h:47
&gt; +#define strlcpy(dst, src, dstsize) strcpy_s(dst, dstsize, src)

Waiting for the EWS bots to tell me if this works on Windows.

&gt; Source/ThirdParty/ANGLE/src/compiler/ShaderLang.cpp:226
&gt; +    size_t infoLogLength = 0;
&gt; +    ShGetInfo(compiler, SH_INFO_LOG_LENGTH, &amp;infoLogLength);

A better design would be to pass in the buffer length to ShGetInfoLog() as a parameter, but since it&apos;s a C API, a new function name would have to be created.

&gt; Source/ThirdParty/ANGLE/src/compiler/ShaderLang.cpp:245
&gt; +    size_t objCodeLength = 0;
&gt; +    ShGetInfo(handle, SH_OBJECT_CODE_LENGTH, &amp;objCodeLength);

Ditto for passing in the length to ShGetObjectCode().

&gt; Source/ThirdParty/ANGLE/src/libGLESv2/Program.cpp:112
&gt; +        const size_t newInfoLogLength = infoLength + 2;
&gt; +        mInfoLog = new char[newInfoLogLength];
&gt; +        strlcpy(mInfoLog, info, newInfoLogLength);
&gt; +        strlcpy(mInfoLog + infoLength, &quot;\n&quot;, newInfoLogLength - infoLength);

I think using snprintf() here would be clearer, but probably not as performant.

&gt; Source/ThirdParty/ANGLE/src/libGLESv2/Program.cpp:121
&gt; +        const size_t newInfoLogLength = logLength + infoLength + 2;
&gt; +        char *newLog = new char[newInfoLogLength];
&gt; +        strlcpy(newLog, mInfoLog, newInfoLogLength);
&gt; +        strlcpy(newLog + logLength, info, newInfoLogLength - logLength);
&gt; +        strlcpy(newLog + logLength + infoLength, &quot;\n&quot;, newInfoLogLength - logLength - infoLength);

Ditto for using snprintf().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983759</commentid>
    <comment_count>6</comment_count>
      <attachid>225017</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-23 16:27:51 -0800</bug_when>
    <thetext>Created attachment 225017
Patch v2

Try to fix builds by adding #include &lt;string.h&gt; to ShaderLang.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983760</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-23 16:28:32 -0800</bug_when>
    <thetext>Attachment 225017 did not pass style-queue:


ERROR: Source/ThirdParty/ANGLE/src/libGLESv2/Program.cpp:118:  Declaration has space between type name and * in char *newLog  [whitespace/declaration] [3]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983763</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-23 16:40:24 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=225017) [details]
&gt; Patch v2
&gt; 
&gt; Try to fix builds by adding #include &lt;string.h&gt; to ShaderLang.cpp.

Hmm, strlcpy doesn&apos;t seem to be used in WebCore, so we should probably use strncpy with an explicit &apos;\0&apos; set at the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983764</commentid>
    <comment_count>9</comment_count>
      <attachid>225018</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-23 16:52:54 -0800</bug_when>
    <thetext>Created attachment 225018
Patch v3

Switch to strncpy() instead of strlcpy().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983770</commentid>
    <comment_count>10</comment_count>
      <attachid>225020</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-23 17:25:17 -0800</bug_when>
    <thetext>Created attachment 225020
Patch v4

Update patch after Dean landed updated ANGLE in r164565, r164567.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983771</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-23 17:26:41 -0800</bug_when>
    <thetext>Attachment 225020 did not pass style-queue:


ERROR: Source/ThirdParty/ANGLE/src/libGLESv2/Program.cpp:119:  Declaration has space between type name and * in char *newLog  [whitespace/declaration] [3]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983772</commentid>
    <comment_count>12</comment_count>
      <attachid>225020</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-02-23 17:28:18 -0800</bug_when>
    <thetext>Comment on attachment 225020
Patch v4

We should file a bug on ANGLE to pick this up. I&apos;ll do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983773</commentid>
    <comment_count>13</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-23 17:29:20 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 225020 [details])
&gt; We should file a bug on ANGLE to pick this up. I&apos;ll do so.

https://code.google.com/p/angleproject/issues/detail?id=307</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983863</commentid>
    <comment_count>14</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-24 03:09:22 -0800</bug_when>
    <thetext>Committed r164580: &lt;http://trac.webkit.org/changeset/164580&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225016</attachid>
            <date>2014-02-23 16:13:46 -0800</date>
            <delta_ts>2014-02-23 16:27:48 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-129237-20140223161345.patch</filename>
            <type>text/plain</type>
            <size>5256</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZTJhMTVkZjMzNmQ4ODRkNWQ3MDdiZjI4NDBiMWNlY2YxODUzOWVkYS4uOWQ3NmY2MzNhZmNl
NDhkZWI1NGQwMmY2ZTUyNGFjMThmMDUzMzVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDE0LTAyLTIzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQU5HTEU6IFN0b3AgdXNpbmcgdW5zYWZlIHN0cmNweSBtZXRo
b2QKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTI5MjM3PgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTEwNzc1ODA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBpbmNsdWRlL0dMU0xBTkcvU2hhZGVyTGFuZy5oOgorICAgICAgICAtIERy
aXZlLWJ5IGZpeCBmb3IgaGVhZGVyIGRvY3VtZW50YXRpb24uCisKKyAgICAgICAgKiBzcmMvY29t
bW9uL2FuZ2xldXRpbHMuaDoKKyAgICAgICAgLSBBZGQgbWFjcm8gdG8gZGVmaW5lIHN0cmxjcHko
KSBpbiB0ZXJtcyBvZiBzdHJjcHlfcygpIGZvcgorICAgICAgICAgIFdpbmRvd3MuCisKKyAgICAg
ICAgKiBzcmMvY29tcGlsZXIvU2hhZGVyTGFuZy5jcHA6CisgICAgICAgIChTaEdldEluZm9Mb2cp
OgorICAgICAgICAoU2hHZXRPYmplY3RDb2RlKToKKyAgICAgICAgKiBzcmMvbGliR0xFU3YyL1By
b2dyYW0uY3BwOgorICAgICAgICAoZ2w6OkluZm9Mb2c6OmFwcGVuZCk6CisgICAgICAgIC0gU3dp
dGNoIHRvIHVzZSBzdHJsY3B5KCkuCisKIDIwMTMtMTItMTggIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeCBtYWtlIGRp
c3RjaGVjay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvR0xT
TEFORy9TaGFkZXJMYW5nLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL0dMU0xB
TkcvU2hhZGVyTGFuZy5oCmluZGV4IDQwZDJkMjY0MDQ4MTM3MGVkOWI2MDMwYjAyZjg1NjAzYTU5
ODYzZjIuLmFkYjk1ODk1MThlNmIyOTdhMDE3NzAzYzU1MDcxYTYzYzgzNmRiN2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJMYW5nLmgK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9HTFNMQU5HL1NoYWRlckxhbmcu
aApAQCAtMzc3LDggKzM3Nyw4IEBAIENPTVBJTEVSX0VYUE9SVCB2b2lkIFNoR2V0SW5mb0xvZyhj
b25zdCBTaEhhbmRsZSBoYW5kbGUsIGNoYXIqIGluZm9Mb2cpOwogLy8gUmV0dXJucyBudWxsLXRl
cm1pbmF0ZWQgb2JqZWN0IGNvZGUgZm9yIGEgY29tcGlsZWQgc2hhZGVyLgogLy8gUGFyYW1ldGVy
czoKIC8vIGhhbmRsZTogU3BlY2lmaWVzIHRoZSBjb21waWxlcgotLy8gaW5mb0xvZzogU3BlY2lm
aWVzIGFuIGFycmF5IG9mIGNoYXJhY3RlcnMgdGhhdCBpcyB1c2VkIHRvIHJldHVybgotLy8gICAg
ICAgICAgdGhlIG9iamVjdCBjb2RlLiBJdCBpcyBhc3N1bWVkIHRoYXQgaW5mb0xvZyBoYXMgZW5v
dWdoIG1lbW9yeSB0bworLy8gb2JqQ29kZTogU3BlY2lmaWVzIGFuIGFycmF5IG9mIGNoYXJhY3Rl
cnMgdGhhdCBpcyB1c2VkIHRvIHJldHVybgorLy8gICAgICAgICAgdGhlIG9iamVjdCBjb2RlLiBJ
dCBpcyBhc3N1bWVkIHRoYXQgb2JqQ29kZSBoYXMgZW5vdWdoIG1lbW9yeSB0bwogLy8gICAgICAg
ICAgYWNjb21vZGF0ZSB0aGUgb2JqZWN0IGNvZGUuIFRoZSBzaXplIG9mIHRoZSBidWZmZXIgcmVx
dWlyZWQgdG8KIC8vICAgICAgICAgIHN0b3JlIHRoZSByZXR1cm5lZCBvYmplY3QgY29kZSBjYW4g
YmUgb2J0YWluZWQgYnkgY2FsbGluZwogLy8gICAgICAgICAgU2hHZXRJbmZvIHdpdGggU0hfT0JK
RUNUX0NPREVfTEVOR1RILgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbW1vbi9hbmdsZXV0aWxzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9u
L2FuZ2xldXRpbHMuaAppbmRleCA5NzYxNTY3ZmIyNzQ5NzVmNDRjNTQxOTBiMTE3NDllYzM3MTE2
ZGM2Li41YmVlZTU1NTQyYjRmZDgyNDE4NmZjNDI4ODc0NjM0ODI5N2E4YzkxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL2FuZ2xldXRpbHMuaAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL2FuZ2xldXRpbHMuaApAQCAtNDQsNiAr
NDQsNyBAQCB2b2lkIFNhZmVSZWxlYXNlKFQmIHJlc291cmNlKQogCiAjaWYgZGVmaW5lZChfTVND
X1ZFUikKICNkZWZpbmUgc25wcmludGYgX3NucHJpbnRmCisjZGVmaW5lIHN0cmxjcHkoZHN0LCBz
cmMsIGRzdHNpemUpIHN0cmNweV9zKGRzdCwgZHN0c2l6ZSwgc3JjKQogI2VuZGlmCiAKICNkZWZp
bmUgVkVORE9SX0lEX0FNRCAweDEwMDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9jb21waWxlci9TaGFkZXJMYW5nLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci9TaGFkZXJMYW5nLmNwcAppbmRleCA0MmNkNWNjNWMxNWZiZTcwMDIwNmMz
NDQyYjhjOGNjODAzZTQ0OWJjLi5iYTI0NGUxN2IxYjEyOGFhYWQ5ZjlmMDBkZDlhZDc2YmUwZGVm
NDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvU2hh
ZGVyTGFuZy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL1No
YWRlckxhbmcuY3BwCkBAIC0yMjIsOCArMjIyLDExIEBAIHZvaWQgU2hHZXRJbmZvTG9nKGNvbnN0
IFNoSGFuZGxlIGhhbmRsZSwgY2hhciogaW5mb0xvZykKICAgICBUQ29tcGlsZXIqIGNvbXBpbGVy
ID0gYmFzZS0+Z2V0QXNDb21waWxlcigpOwogICAgIGlmICghY29tcGlsZXIpIHJldHVybjsKIAor
ICAgIHNpemVfdCBpbmZvTG9nTGVuZ3RoID0gMDsKKyAgICBTaEdldEluZm8oY29tcGlsZXIsIFNI
X0lORk9fTE9HX0xFTkdUSCwgJmluZm9Mb2dMZW5ndGgpOworCiAgICAgVEluZm9TaW5rJiBpbmZv
U2luayA9IGNvbXBpbGVyLT5nZXRJbmZvU2luaygpOwotICAgIHN0cmNweShpbmZvTG9nLCBpbmZv
U2luay5pbmZvLmNfc3RyKCkpOworICAgIHN0cmxjcHkoaW5mb0xvZywgaW5mb1NpbmsuaW5mby5j
X3N0cigpLCBpbmZvTG9nTGVuZ3RoKTsKIH0KIAogLy8KQEAgLTIzOCw4ICsyNDEsMTEgQEAgdm9p
ZCBTaEdldE9iamVjdENvZGUoY29uc3QgU2hIYW5kbGUgaGFuZGxlLCBjaGFyKiBvYmpDb2RlKQog
ICAgIFRDb21waWxlciogY29tcGlsZXIgPSBiYXNlLT5nZXRBc0NvbXBpbGVyKCk7CiAgICAgaWYg
KCFjb21waWxlcikgcmV0dXJuOwogCisgICAgc2l6ZV90IG9iakNvZGVMZW5ndGggPSAwOworICAg
IFNoR2V0SW5mbyhoYW5kbGUsIFNIX09CSkVDVF9DT0RFX0xFTkdUSCwgJm9iakNvZGVMZW5ndGgp
OworCiAgICAgVEluZm9TaW5rJiBpbmZvU2luayA9IGNvbXBpbGVyLT5nZXRJbmZvU2luaygpOwot
ICAgIHN0cmNweShvYmpDb2RlLCBpbmZvU2luay5vYmouY19zdHIoKSk7CisgICAgc3RybGNweShv
YmpDb2RlLCBpbmZvU2luay5vYmouY19zdHIoKSwgb2JqQ29kZUxlbmd0aCk7CiB9CiAKIHZvaWQg
U2hHZXRWYXJpYWJsZUluZm8oY29uc3QgU2hIYW5kbGUgaGFuZGxlLApkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9Qcm9ncmFtLmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvUHJvZ3JhbS5jcHAKaW5kZXggYzM4YWE1YTYx
YWEzYWNhZmNmNTJiMDBkZDc4YWYxNzE5YTBjOWZjOS4uYzA5NWUwYmFiYTAyZGY1ZWQ3ZWUyMTEw
MzhjNTIzYjJmNjAzNWRmOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkdMRVN2Mi9Qcm9ncmFtLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliR0xFU3YyL1Byb2dyYW0uY3BwCkBAIC0xMDYsMTcgKzEwNiwxOSBAQCB2b2lkIEluZm9Mb2c6
OmFwcGVuZChjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKIAogICAgIGlmICghbUluZm9Mb2cpCiAg
ICAgewotICAgICAgICBtSW5mb0xvZyA9IG5ldyBjaGFyW2luZm9MZW5ndGggKyAyXTsKLSAgICAg
ICAgc3RyY3B5KG1JbmZvTG9nLCBpbmZvKTsKLSAgICAgICAgc3RyY3B5KG1JbmZvTG9nICsgaW5m
b0xlbmd0aCwgIlxuIik7CisgICAgICAgIGNvbnN0IHNpemVfdCBuZXdJbmZvTG9nTGVuZ3RoID0g
aW5mb0xlbmd0aCArIDI7CisgICAgICAgIG1JbmZvTG9nID0gbmV3IGNoYXJbbmV3SW5mb0xvZ0xl
bmd0aF07CisgICAgICAgIHN0cmxjcHkobUluZm9Mb2csIGluZm8sIG5ld0luZm9Mb2dMZW5ndGgp
OworICAgICAgICBzdHJsY3B5KG1JbmZvTG9nICsgaW5mb0xlbmd0aCwgIlxuIiwgbmV3SW5mb0xv
Z0xlbmd0aCAtIGluZm9MZW5ndGgpOwogICAgIH0KICAgICBlbHNlCiAgICAgewogICAgICAgICBz
aXplX3QgbG9nTGVuZ3RoID0gc3RybGVuKG1JbmZvTG9nKTsKLSAgICAgICAgY2hhciAqbmV3TG9n
ID0gbmV3IGNoYXJbbG9nTGVuZ3RoICsgaW5mb0xlbmd0aCArIDJdOwotICAgICAgICBzdHJjcHko
bmV3TG9nLCBtSW5mb0xvZyk7Ci0gICAgICAgIHN0cmNweShuZXdMb2cgKyBsb2dMZW5ndGgsIGlu
Zm8pOwotICAgICAgICBzdHJjcHkobmV3TG9nICsgbG9nTGVuZ3RoICsgaW5mb0xlbmd0aCwgIlxu
Iik7CisgICAgICAgIGNvbnN0IHNpemVfdCBuZXdJbmZvTG9nTGVuZ3RoID0gbG9nTGVuZ3RoICsg
aW5mb0xlbmd0aCArIDI7CisgICAgICAgIGNoYXIgKm5ld0xvZyA9IG5ldyBjaGFyW25ld0luZm9M
b2dMZW5ndGhdOworICAgICAgICBzdHJsY3B5KG5ld0xvZywgbUluZm9Mb2csIG5ld0luZm9Mb2dM
ZW5ndGgpOworICAgICAgICBzdHJsY3B5KG5ld0xvZyArIGxvZ0xlbmd0aCwgaW5mbywgbmV3SW5m
b0xvZ0xlbmd0aCAtIGxvZ0xlbmd0aCk7CisgICAgICAgIHN0cmxjcHkobmV3TG9nICsgbG9nTGVu
Z3RoICsgaW5mb0xlbmd0aCwgIlxuIiwgbmV3SW5mb0xvZ0xlbmd0aCAtIGxvZ0xlbmd0aCAtIGlu
Zm9MZW5ndGgpOwogCiAgICAgICAgIGRlbGV0ZVtdIG1JbmZvTG9nOwogICAgICAgICBtSW5mb0xv
ZyA9IG5ld0xvZzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225017</attachid>
            <date>2014-02-23 16:27:51 -0800</date>
            <delta_ts>2014-02-23 16:52:52 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-129237-20140223162750.patch</filename>
            <type>text/plain</type>
            <size>5478</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZTJhMTVkZjMzNmQ4ODRkNWQ3MDdiZjI4NDBiMWNlY2YxODUzOWVkYS4uOWQ3NmY2MzNhZmNl
NDhkZWI1NGQwMmY2ZTUyNGFjMThmMDUzMzVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDE0LTAyLTIzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQU5HTEU6IFN0b3AgdXNpbmcgdW5zYWZlIHN0cmNweSBtZXRo
b2QKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTI5MjM3PgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTEwNzc1ODA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBpbmNsdWRlL0dMU0xBTkcvU2hhZGVyTGFuZy5oOgorICAgICAgICAtIERy
aXZlLWJ5IGZpeCBmb3IgaGVhZGVyIGRvY3VtZW50YXRpb24uCisKKyAgICAgICAgKiBzcmMvY29t
bW9uL2FuZ2xldXRpbHMuaDoKKyAgICAgICAgLSBBZGQgbWFjcm8gdG8gZGVmaW5lIHN0cmxjcHko
KSBpbiB0ZXJtcyBvZiBzdHJjcHlfcygpIGZvcgorICAgICAgICAgIFdpbmRvd3MuCisKKyAgICAg
ICAgKiBzcmMvY29tcGlsZXIvU2hhZGVyTGFuZy5jcHA6CisgICAgICAgIChTaEdldEluZm9Mb2cp
OgorICAgICAgICAoU2hHZXRPYmplY3RDb2RlKToKKyAgICAgICAgKiBzcmMvbGliR0xFU3YyL1By
b2dyYW0uY3BwOgorICAgICAgICAoZ2w6OkluZm9Mb2c6OmFwcGVuZCk6CisgICAgICAgIC0gU3dp
dGNoIHRvIHVzZSBzdHJsY3B5KCkuCisKIDIwMTMtMTItMTggIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeCBtYWtlIGRp
c3RjaGVjay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvR0xT
TEFORy9TaGFkZXJMYW5nLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL0dMU0xB
TkcvU2hhZGVyTGFuZy5oCmluZGV4IDQwZDJkMjY0MDQ4MTM3MGVkOWI2MDMwYjAyZjg1NjAzYTU5
ODYzZjIuLmFkYjk1ODk1MThlNmIyOTdhMDE3NzAzYzU1MDcxYTYzYzgzNmRiN2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJMYW5nLmgK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9HTFNMQU5HL1NoYWRlckxhbmcu
aApAQCAtMzc3LDggKzM3Nyw4IEBAIENPTVBJTEVSX0VYUE9SVCB2b2lkIFNoR2V0SW5mb0xvZyhj
b25zdCBTaEhhbmRsZSBoYW5kbGUsIGNoYXIqIGluZm9Mb2cpOwogLy8gUmV0dXJucyBudWxsLXRl
cm1pbmF0ZWQgb2JqZWN0IGNvZGUgZm9yIGEgY29tcGlsZWQgc2hhZGVyLgogLy8gUGFyYW1ldGVy
czoKIC8vIGhhbmRsZTogU3BlY2lmaWVzIHRoZSBjb21waWxlcgotLy8gaW5mb0xvZzogU3BlY2lm
aWVzIGFuIGFycmF5IG9mIGNoYXJhY3RlcnMgdGhhdCBpcyB1c2VkIHRvIHJldHVybgotLy8gICAg
ICAgICAgdGhlIG9iamVjdCBjb2RlLiBJdCBpcyBhc3N1bWVkIHRoYXQgaW5mb0xvZyBoYXMgZW5v
dWdoIG1lbW9yeSB0bworLy8gb2JqQ29kZTogU3BlY2lmaWVzIGFuIGFycmF5IG9mIGNoYXJhY3Rl
cnMgdGhhdCBpcyB1c2VkIHRvIHJldHVybgorLy8gICAgICAgICAgdGhlIG9iamVjdCBjb2RlLiBJ
dCBpcyBhc3N1bWVkIHRoYXQgb2JqQ29kZSBoYXMgZW5vdWdoIG1lbW9yeSB0bwogLy8gICAgICAg
ICAgYWNjb21vZGF0ZSB0aGUgb2JqZWN0IGNvZGUuIFRoZSBzaXplIG9mIHRoZSBidWZmZXIgcmVx
dWlyZWQgdG8KIC8vICAgICAgICAgIHN0b3JlIHRoZSByZXR1cm5lZCBvYmplY3QgY29kZSBjYW4g
YmUgb2J0YWluZWQgYnkgY2FsbGluZwogLy8gICAgICAgICAgU2hHZXRJbmZvIHdpdGggU0hfT0JK
RUNUX0NPREVfTEVOR1RILgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbW1vbi9hbmdsZXV0aWxzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9u
L2FuZ2xldXRpbHMuaAppbmRleCA5NzYxNTY3ZmIyNzQ5NzVmNDRjNTQxOTBiMTE3NDllYzM3MTE2
ZGM2Li41YmVlZTU1NTQyYjRmZDgyNDE4NmZjNDI4ODc0NjM0ODI5N2E4YzkxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL2FuZ2xldXRpbHMuaAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL2FuZ2xldXRpbHMuaApAQCAtNDQsNiAr
NDQsNyBAQCB2b2lkIFNhZmVSZWxlYXNlKFQmIHJlc291cmNlKQogCiAjaWYgZGVmaW5lZChfTVND
X1ZFUikKICNkZWZpbmUgc25wcmludGYgX3NucHJpbnRmCisjZGVmaW5lIHN0cmxjcHkoZHN0LCBz
cmMsIGRzdHNpemUpIHN0cmNweV9zKGRzdCwgZHN0c2l6ZSwgc3JjKQogI2VuZGlmCiAKICNkZWZp
bmUgVkVORE9SX0lEX0FNRCAweDEwMDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9jb21waWxlci9TaGFkZXJMYW5nLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci9TaGFkZXJMYW5nLmNwcAppbmRleCA0MmNkNWNjNWMxNWZiZTcwMDIwNmMz
NDQyYjhjOGNjODAzZTQ0OWJjLi43MmQ5NWFjNmExOTgwYTBlYjY4ZGU4MTVjNmZiODJhZTE3Y2Zj
ZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvU2hh
ZGVyTGFuZy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL1No
YWRlckxhbmcuY3BwCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSAiY29tcGlsZXIvU2hIYW5k
bGUuaCIKICNpbmNsdWRlICJjb21waWxlci9UcmFuc2xhdG9ySExTTC5oIgogI2luY2x1ZGUgImNv
bXBpbGVyL1ZhcmlhYmxlUGFja2VyLmgiCisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKIC8vCiAvLyBU
aGlzIGlzIHRoZSBwbGF0Zm9ybSBpbmRlcGVuZGVudCBpbnRlcmZhY2UgYmV0d2VlbiBhbiBPR0wg
ZHJpdmVyCkBAIC0yMjIsOCArMjIzLDExIEBAIHZvaWQgU2hHZXRJbmZvTG9nKGNvbnN0IFNoSGFu
ZGxlIGhhbmRsZSwgY2hhciogaW5mb0xvZykKICAgICBUQ29tcGlsZXIqIGNvbXBpbGVyID0gYmFz
ZS0+Z2V0QXNDb21waWxlcigpOwogICAgIGlmICghY29tcGlsZXIpIHJldHVybjsKIAorICAgIHNp
emVfdCBpbmZvTG9nTGVuZ3RoID0gMDsKKyAgICBTaEdldEluZm8oY29tcGlsZXIsIFNIX0lORk9f
TE9HX0xFTkdUSCwgJmluZm9Mb2dMZW5ndGgpOworCiAgICAgVEluZm9TaW5rJiBpbmZvU2luayA9
IGNvbXBpbGVyLT5nZXRJbmZvU2luaygpOwotICAgIHN0cmNweShpbmZvTG9nLCBpbmZvU2luay5p
bmZvLmNfc3RyKCkpOworICAgIHN0cmxjcHkoaW5mb0xvZywgaW5mb1NpbmsuaW5mby5jX3N0cigp
LCBpbmZvTG9nTGVuZ3RoKTsKIH0KIAogLy8KQEAgLTIzOCw4ICsyNDIsMTEgQEAgdm9pZCBTaEdl
dE9iamVjdENvZGUoY29uc3QgU2hIYW5kbGUgaGFuZGxlLCBjaGFyKiBvYmpDb2RlKQogICAgIFRD
b21waWxlciogY29tcGlsZXIgPSBiYXNlLT5nZXRBc0NvbXBpbGVyKCk7CiAgICAgaWYgKCFjb21w
aWxlcikgcmV0dXJuOwogCisgICAgc2l6ZV90IG9iakNvZGVMZW5ndGggPSAwOworICAgIFNoR2V0
SW5mbyhoYW5kbGUsIFNIX09CSkVDVF9DT0RFX0xFTkdUSCwgJm9iakNvZGVMZW5ndGgpOworCiAg
ICAgVEluZm9TaW5rJiBpbmZvU2luayA9IGNvbXBpbGVyLT5nZXRJbmZvU2luaygpOwotICAgIHN0
cmNweShvYmpDb2RlLCBpbmZvU2luay5vYmouY19zdHIoKSk7CisgICAgc3RybGNweShvYmpDb2Rl
LCBpbmZvU2luay5vYmouY19zdHIoKSwgb2JqQ29kZUxlbmd0aCk7CiB9CiAKIHZvaWQgU2hHZXRW
YXJpYWJsZUluZm8oY29uc3QgU2hIYW5kbGUgaGFuZGxlLApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9Qcm9ncmFtLmNwcCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvUHJvZ3JhbS5jcHAKaW5kZXggYzM4YWE1YTYxYWEzYWNh
ZmNmNTJiMDBkZDc4YWYxNzE5YTBjOWZjOS4uYzA5NWUwYmFiYTAyZGY1ZWQ3ZWUyMTEwMzhjNTIz
YjJmNjAzNWRmOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdM
RVN2Mi9Qcm9ncmFtLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xF
U3YyL1Byb2dyYW0uY3BwCkBAIC0xMDYsMTcgKzEwNiwxOSBAQCB2b2lkIEluZm9Mb2c6OmFwcGVu
ZChjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKIAogICAgIGlmICghbUluZm9Mb2cpCiAgICAgewot
ICAgICAgICBtSW5mb0xvZyA9IG5ldyBjaGFyW2luZm9MZW5ndGggKyAyXTsKLSAgICAgICAgc3Ry
Y3B5KG1JbmZvTG9nLCBpbmZvKTsKLSAgICAgICAgc3RyY3B5KG1JbmZvTG9nICsgaW5mb0xlbmd0
aCwgIlxuIik7CisgICAgICAgIGNvbnN0IHNpemVfdCBuZXdJbmZvTG9nTGVuZ3RoID0gaW5mb0xl
bmd0aCArIDI7CisgICAgICAgIG1JbmZvTG9nID0gbmV3IGNoYXJbbmV3SW5mb0xvZ0xlbmd0aF07
CisgICAgICAgIHN0cmxjcHkobUluZm9Mb2csIGluZm8sIG5ld0luZm9Mb2dMZW5ndGgpOworICAg
ICAgICBzdHJsY3B5KG1JbmZvTG9nICsgaW5mb0xlbmd0aCwgIlxuIiwgbmV3SW5mb0xvZ0xlbmd0
aCAtIGluZm9MZW5ndGgpOwogICAgIH0KICAgICBlbHNlCiAgICAgewogICAgICAgICBzaXplX3Qg
bG9nTGVuZ3RoID0gc3RybGVuKG1JbmZvTG9nKTsKLSAgICAgICAgY2hhciAqbmV3TG9nID0gbmV3
IGNoYXJbbG9nTGVuZ3RoICsgaW5mb0xlbmd0aCArIDJdOwotICAgICAgICBzdHJjcHkobmV3TG9n
LCBtSW5mb0xvZyk7Ci0gICAgICAgIHN0cmNweShuZXdMb2cgKyBsb2dMZW5ndGgsIGluZm8pOwot
ICAgICAgICBzdHJjcHkobmV3TG9nICsgbG9nTGVuZ3RoICsgaW5mb0xlbmd0aCwgIlxuIik7Cisg
ICAgICAgIGNvbnN0IHNpemVfdCBuZXdJbmZvTG9nTGVuZ3RoID0gbG9nTGVuZ3RoICsgaW5mb0xl
bmd0aCArIDI7CisgICAgICAgIGNoYXIgKm5ld0xvZyA9IG5ldyBjaGFyW25ld0luZm9Mb2dMZW5n
dGhdOworICAgICAgICBzdHJsY3B5KG5ld0xvZywgbUluZm9Mb2csIG5ld0luZm9Mb2dMZW5ndGgp
OworICAgICAgICBzdHJsY3B5KG5ld0xvZyArIGxvZ0xlbmd0aCwgaW5mbywgbmV3SW5mb0xvZ0xl
bmd0aCAtIGxvZ0xlbmd0aCk7CisgICAgICAgIHN0cmxjcHkobmV3TG9nICsgbG9nTGVuZ3RoICsg
aW5mb0xlbmd0aCwgIlxuIiwgbmV3SW5mb0xvZ0xlbmd0aCAtIGxvZ0xlbmd0aCAtIGluZm9MZW5n
dGgpOwogCiAgICAgICAgIGRlbGV0ZVtdIG1JbmZvTG9nOwogICAgICAgICBtSW5mb0xvZyA9IG5l
d0xvZzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225018</attachid>
            <date>2014-02-23 16:52:54 -0800</date>
            <delta_ts>2014-02-23 17:25:14 -0800</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-129237-20140223165254.patch</filename>
            <type>text/plain</type>
            <size>4856</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZTJhMTVkZjMzNmQ4ODRkNWQ3MDdiZjI4NDBiMWNlY2YxODUzOWVkYS4uZTQ0OGNiYTIzMzc5
ZWI4YjlkNDk1ZDk2MTk5ZThlZjM0NzM5MGJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDE0LTAyLTIzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQU5HTEU6IFN0b3AgdXNpbmcgdW5zYWZlIHN0cmNweSBtZXRo
b2QKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTI5MjM3PgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTEwNzc1ODA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBpbmNsdWRlL0dMU0xBTkcvU2hhZGVyTGFuZy5oOgorICAgICAgICAtIERy
aXZlLWJ5IGZpeCBmb3IgaGVhZGVyIGRvY3VtZW50YXRpb24uCisKKyAgICAgICAgKiBzcmMvY29t
cGlsZXIvU2hhZGVyTGFuZy5jcHA6CisgICAgICAgIChTaEdldEluZm9Mb2cpOgorICAgICAgICAo
U2hHZXRPYmplY3RDb2RlKToKKyAgICAgICAgKiBzcmMvbGliR0xFU3YyL1Byb2dyYW0uY3BwOgor
ICAgICAgICAoZ2w6OkluZm9Mb2c6OmFwcGVuZCk6CisgICAgICAgIC0gU3dpdGNoIHRvIHVzZSBz
dHJuY3B5KCksIGFuZCBleHBsaWNpdGx5IHNldCBOVUxMIHRlcm1pbmF0b3IgYXQKKyAgICAgICAg
ICB0aGUgZW5kIG9mIHRoZSBidWZmZXIuCisKIDIwMTMtMTItMTggIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeCBtYWtl
IGRpc3RjaGVjay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUv
R0xTTEFORy9TaGFkZXJMYW5nLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL0dM
U0xBTkcvU2hhZGVyTGFuZy5oCmluZGV4IDQwZDJkMjY0MDQ4MTM3MGVkOWI2MDMwYjAyZjg1NjAz
YTU5ODYzZjIuLmFkYjk1ODk1MThlNmIyOTdhMDE3NzAzYzU1MDcxYTYzYzgzNmRiN2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJMYW5n
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9HTFNMQU5HL1NoYWRlckxh
bmcuaApAQCAtMzc3LDggKzM3Nyw4IEBAIENPTVBJTEVSX0VYUE9SVCB2b2lkIFNoR2V0SW5mb0xv
Zyhjb25zdCBTaEhhbmRsZSBoYW5kbGUsIGNoYXIqIGluZm9Mb2cpOwogLy8gUmV0dXJucyBudWxs
LXRlcm1pbmF0ZWQgb2JqZWN0IGNvZGUgZm9yIGEgY29tcGlsZWQgc2hhZGVyLgogLy8gUGFyYW1l
dGVyczoKIC8vIGhhbmRsZTogU3BlY2lmaWVzIHRoZSBjb21waWxlcgotLy8gaW5mb0xvZzogU3Bl
Y2lmaWVzIGFuIGFycmF5IG9mIGNoYXJhY3RlcnMgdGhhdCBpcyB1c2VkIHRvIHJldHVybgotLy8g
ICAgICAgICAgdGhlIG9iamVjdCBjb2RlLiBJdCBpcyBhc3N1bWVkIHRoYXQgaW5mb0xvZyBoYXMg
ZW5vdWdoIG1lbW9yeSB0bworLy8gb2JqQ29kZTogU3BlY2lmaWVzIGFuIGFycmF5IG9mIGNoYXJh
Y3RlcnMgdGhhdCBpcyB1c2VkIHRvIHJldHVybgorLy8gICAgICAgICAgdGhlIG9iamVjdCBjb2Rl
LiBJdCBpcyBhc3N1bWVkIHRoYXQgb2JqQ29kZSBoYXMgZW5vdWdoIG1lbW9yeSB0bwogLy8gICAg
ICAgICAgYWNjb21vZGF0ZSB0aGUgb2JqZWN0IGNvZGUuIFRoZSBzaXplIG9mIHRoZSBidWZmZXIg
cmVxdWlyZWQgdG8KIC8vICAgICAgICAgIHN0b3JlIHRoZSByZXR1cm5lZCBvYmplY3QgY29kZSBj
YW4gYmUgb2J0YWluZWQgYnkgY2FsbGluZwogLy8gICAgICAgICAgU2hHZXRJbmZvIHdpdGggU0hf
T0JKRUNUX0NPREVfTEVOR1RILgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2NvbXBpbGVyL1NoYWRlckxhbmcuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL1NoYWRlckxhbmcuY3BwCmluZGV4IDQyY2Q1Y2M1YzE1ZmJlNzAwMjA2YzM0NDJi
OGM4Y2M4MDNlNDQ5YmMuLmFiYmE0NjY3MTdkMmY4MGM0YTkzY2Q5NmEwZTJhNjI5YWMxOTg3Y2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9TaGFkZXJM
YW5nLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvU2hhZGVy
TGFuZy5jcHAKQEAgLTIyMiw4ICsyMjIsMTIgQEAgdm9pZCBTaEdldEluZm9Mb2coY29uc3QgU2hI
YW5kbGUgaGFuZGxlLCBjaGFyKiBpbmZvTG9nKQogICAgIFRDb21waWxlciogY29tcGlsZXIgPSBi
YXNlLT5nZXRBc0NvbXBpbGVyKCk7CiAgICAgaWYgKCFjb21waWxlcikgcmV0dXJuOwogCisgICAg
c2l6ZV90IGluZm9Mb2dMZW5ndGggPSAwOworICAgIFNoR2V0SW5mbyhjb21waWxlciwgU0hfSU5G
T19MT0dfTEVOR1RILCAmaW5mb0xvZ0xlbmd0aCk7CisKICAgICBUSW5mb1NpbmsmIGluZm9TaW5r
ID0gY29tcGlsZXItPmdldEluZm9TaW5rKCk7Ci0gICAgc3RyY3B5KGluZm9Mb2csIGluZm9TaW5r
LmluZm8uY19zdHIoKSk7CisgICAgc3RybmNweShpbmZvTG9nLCBpbmZvU2luay5pbmZvLmNfc3Ry
KCksIGluZm9Mb2dMZW5ndGgpOworICAgIGluZm9Mb2dbaW5mb0xvZ0xlbmd0aCAtIDFdID0gJ1ww
JzsKIH0KIAogLy8KQEAgLTIzOCw4ICsyNDIsMTIgQEAgdm9pZCBTaEdldE9iamVjdENvZGUoY29u
c3QgU2hIYW5kbGUgaGFuZGxlLCBjaGFyKiBvYmpDb2RlKQogICAgIFRDb21waWxlciogY29tcGls
ZXIgPSBiYXNlLT5nZXRBc0NvbXBpbGVyKCk7CiAgICAgaWYgKCFjb21waWxlcikgcmV0dXJuOwog
CisgICAgc2l6ZV90IG9iakNvZGVMZW5ndGggPSAwOworICAgIFNoR2V0SW5mbyhoYW5kbGUsIFNI
X09CSkVDVF9DT0RFX0xFTkdUSCwgJm9iakNvZGVMZW5ndGgpOworCiAgICAgVEluZm9TaW5rJiBp
bmZvU2luayA9IGNvbXBpbGVyLT5nZXRJbmZvU2luaygpOwotICAgIHN0cmNweShvYmpDb2RlLCBp
bmZvU2luay5vYmouY19zdHIoKSk7CisgICAgc3RybmNweShvYmpDb2RlLCBpbmZvU2luay5vYmou
Y19zdHIoKSwgb2JqQ29kZUxlbmd0aCk7CisgICAgb2JqQ29kZVtvYmpDb2RlTGVuZ3RoIC0gMV0g
PSAnXDAnOwogfQogCiB2b2lkIFNoR2V0VmFyaWFibGVJbmZvKGNvbnN0IFNoSGFuZGxlIGhhbmRs
ZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvUHJv
Z3JhbS5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL1Byb2dyYW0u
Y3BwCmluZGV4IGMzOGFhNWE2MWFhM2FjYWZjZjUyYjAwZGQ3OGFmMTcxOWEwYzlmYzkuLmY5Y2E5
YTRmYTBjMGJkMzBhMzQ2ZTdiMmVkNzJjZTljYTUxNDcxYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvUHJvZ3JhbS5jcHAKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9Qcm9ncmFtLmNwcApAQCAtMTA2LDE3ICsxMDYs
MjEgQEAgdm9pZCBJbmZvTG9nOjphcHBlbmQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCiAKICAg
ICBpZiAoIW1JbmZvTG9nKQogICAgIHsKLSAgICAgICAgbUluZm9Mb2cgPSBuZXcgY2hhcltpbmZv
TGVuZ3RoICsgMl07Ci0gICAgICAgIHN0cmNweShtSW5mb0xvZywgaW5mbyk7Ci0gICAgICAgIHN0
cmNweShtSW5mb0xvZyArIGluZm9MZW5ndGgsICJcbiIpOworICAgICAgICBjb25zdCBzaXplX3Qg
bmV3SW5mb0xvZ0xlbmd0aCA9IGluZm9MZW5ndGggKyAyOworICAgICAgICBtSW5mb0xvZyA9IG5l
dyBjaGFyW25ld0luZm9Mb2dMZW5ndGhdOworICAgICAgICBzdHJuY3B5KG1JbmZvTG9nLCBpbmZv
LCBuZXdJbmZvTG9nTGVuZ3RoKTsKKyAgICAgICAgc3RybmNweShtSW5mb0xvZyArIGluZm9MZW5n
dGgsICJcbiIsIG5ld0luZm9Mb2dMZW5ndGggLSBpbmZvTGVuZ3RoKTsKKyAgICAgICAgbUluZm9M
b2dbbmV3SW5mb0xvZ0xlbmd0aCAtIDFdID0gJ1wwJzsKICAgICB9CiAgICAgZWxzZQogICAgIHsK
ICAgICAgICAgc2l6ZV90IGxvZ0xlbmd0aCA9IHN0cmxlbihtSW5mb0xvZyk7Ci0gICAgICAgIGNo
YXIgKm5ld0xvZyA9IG5ldyBjaGFyW2xvZ0xlbmd0aCArIGluZm9MZW5ndGggKyAyXTsKLSAgICAg
ICAgc3RyY3B5KG5ld0xvZywgbUluZm9Mb2cpOwotICAgICAgICBzdHJjcHkobmV3TG9nICsgbG9n
TGVuZ3RoLCBpbmZvKTsKLSAgICAgICAgc3RyY3B5KG5ld0xvZyArIGxvZ0xlbmd0aCArIGluZm9M
ZW5ndGgsICJcbiIpOworICAgICAgICBjb25zdCBzaXplX3QgbmV3SW5mb0xvZ0xlbmd0aCA9IGxv
Z0xlbmd0aCArIGluZm9MZW5ndGggKyAyOworICAgICAgICBjaGFyICpuZXdMb2cgPSBuZXcgY2hh
cltuZXdJbmZvTG9nTGVuZ3RoXTsKKyAgICAgICAgc3RybmNweShuZXdMb2csIG1JbmZvTG9nLCBu
ZXdJbmZvTG9nTGVuZ3RoKTsKKyAgICAgICAgc3RybmNweShuZXdMb2cgKyBsb2dMZW5ndGgsIGlu
Zm8sIG5ld0luZm9Mb2dMZW5ndGggLSBsb2dMZW5ndGgpOworICAgICAgICBzdHJuY3B5KG5ld0xv
ZyArIGxvZ0xlbmd0aCArIGluZm9MZW5ndGgsICJcbiIsIG5ld0luZm9Mb2dMZW5ndGggLSBsb2dM
ZW5ndGggLSBpbmZvTGVuZ3RoKTsKKyAgICAgICAgbmV3TG9nW25ld0luZm9Mb2dMZW5ndGggLSAx
XSA9ICdcMCc7CiAKICAgICAgICAgZGVsZXRlW10gbUluZm9Mb2c7CiAgICAgICAgIG1JbmZvTG9n
ID0gbmV3TG9nOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225020</attachid>
            <date>2014-02-23 17:25:17 -0800</date>
            <delta_ts>2014-02-23 17:28:18 -0800</delta_ts>
            <desc>Patch v4</desc>
            <filename>bug-129237-20140223172516.patch</filename>
            <type>text/plain</type>
            <size>4903</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggYjRlZjViMjAzZGY5YjQ4MzI0MzQ5NDVmZjgxMDYzM2E5Y2U0ZGFiNy4uM2ZhOWUxMzNlZmRh
YzA5NDMwMjQxMWY5YWIzNGU2ZTJlNTg2M2RkMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDE0LTAyLTIzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQU5HTEU6IFN0b3AgdXNpbmcgdW5zYWZlIHN0cmNweSBtZXRo
b2QKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTI5MjM3PgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTEwNzc1ODA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBpbmNsdWRlL0dMU0xBTkcvU2hhZGVyTGFuZy5oOgorICAgICAgICAtIERy
aXZlLWJ5IGZpeCBmb3IgaGVhZGVyIGRvY3VtZW50YXRpb24uCisKKyAgICAgICAgKiBzcmMvY29t
cGlsZXIvdHJhbnNsYXRvci9TaGFkZXJMYW5nLmNwcDoKKyAgICAgICAgKFNoR2V0SW5mb0xvZyk6
CisgICAgICAgIChTaEdldE9iamVjdENvZGUpOgorICAgICAgICAqIHNyYy9saWJHTEVTdjIvUHJv
Z3JhbS5jcHA6CisgICAgICAgIChnbDo6SW5mb0xvZzo6YXBwZW5kKToKKyAgICAgICAgLSBTd2l0
Y2ggdG8gdXNlIHN0cm5jcHkoKSwgYW5kIGV4cGxpY2l0bHkgc2V0IE5VTEwgdGVybWluYXRvciBh
dAorICAgICAgICAgIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4KKwogMjAxNC0wMi0yMyAgRGVhbiBK
YWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgTWlzc2luZyBmaWxlcyBmcm9tIHBy
ZXZpb3VzIGNvbW1pdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1
ZGUvR0xTTEFORy9TaGFkZXJMYW5nLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRl
L0dMU0xBTkcvU2hhZGVyTGFuZy5oCmluZGV4IDJlMWRjZjMwMWVkMjhmYjM0ZDM5NGJkMTFkZDgy
ZTUzNzk2OWNjNjQuLmJkNDY4YzdkNTY2MWZiYTQyZGI4ZDM5NzZhNzZiNGVlZjA1Yjk2YjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJM
YW5nLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9HTFNMQU5HL1NoYWRl
ckxhbmcuaApAQCAtMzgzLDggKzM4Myw4IEBAIENPTVBJTEVSX0VYUE9SVCB2b2lkIFNoR2V0SW5m
b0xvZyhjb25zdCBTaEhhbmRsZSBoYW5kbGUsIGNoYXIqIGluZm9Mb2cpOwogLy8gUmV0dXJucyBu
dWxsLXRlcm1pbmF0ZWQgb2JqZWN0IGNvZGUgZm9yIGEgY29tcGlsZWQgc2hhZGVyLgogLy8gUGFy
YW1ldGVyczoKIC8vIGhhbmRsZTogU3BlY2lmaWVzIHRoZSBjb21waWxlcgotLy8gaW5mb0xvZzog
U3BlY2lmaWVzIGFuIGFycmF5IG9mIGNoYXJhY3RlcnMgdGhhdCBpcyB1c2VkIHRvIHJldHVybgot
Ly8gICAgICAgICAgdGhlIG9iamVjdCBjb2RlLiBJdCBpcyBhc3N1bWVkIHRoYXQgaW5mb0xvZyBo
YXMgZW5vdWdoIG1lbW9yeSB0bworLy8gb2JqQ29kZTogU3BlY2lmaWVzIGFuIGFycmF5IG9mIGNo
YXJhY3RlcnMgdGhhdCBpcyB1c2VkIHRvIHJldHVybgorLy8gICAgICAgICAgdGhlIG9iamVjdCBj
b2RlLiBJdCBpcyBhc3N1bWVkIHRoYXQgb2JqQ29kZSBoYXMgZW5vdWdoIG1lbW9yeSB0bwogLy8g
ICAgICAgICAgYWNjb21vZGF0ZSB0aGUgb2JqZWN0IGNvZGUuIFRoZSBzaXplIG9mIHRoZSBidWZm
ZXIgcmVxdWlyZWQgdG8KIC8vICAgICAgICAgIHN0b3JlIHRoZSByZXR1cm5lZCBvYmplY3QgY29k
ZSBjYW4gYmUgb2J0YWluZWQgYnkgY2FsbGluZwogLy8gICAgICAgICAgU2hHZXRJbmZvIHdpdGgg
U0hfT0JKRUNUX0NPREVfTEVOR1RILgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvU2hhZGVyTGFuZy5jcHAgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaGFkZXJMYW5nLmNwcAppbmRleCA2
MDgyMzc4NjBjMTU4MTZlN2Y0OWFkMjU1ZWJhZjA1N2Y0YmNmNzMyLi5mY2Q4OGNkZjM2ZmExYWMw
MzkzYjFkZmE1NjFkZTBiYjE3YWJhMTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaGFkZXJMYW5nLmNwcAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaGFkZXJMYW5nLmNwcApA
QCAtMjI1LDggKzIyNSwxMiBAQCB2b2lkIFNoR2V0SW5mb0xvZyhjb25zdCBTaEhhbmRsZSBoYW5k
bGUsIGNoYXIqIGluZm9Mb2cpCiAgICAgVENvbXBpbGVyKiBjb21waWxlciA9IGJhc2UtPmdldEFz
Q29tcGlsZXIoKTsKICAgICBpZiAoIWNvbXBpbGVyKSByZXR1cm47CiAKKyAgICBzaXplX3QgaW5m
b0xvZ0xlbmd0aCA9IDA7CisgICAgU2hHZXRJbmZvKGNvbXBpbGVyLCBTSF9JTkZPX0xPR19MRU5H
VEgsICZpbmZvTG9nTGVuZ3RoKTsKKwogICAgIFRJbmZvU2luayYgaW5mb1NpbmsgPSBjb21waWxl
ci0+Z2V0SW5mb1NpbmsoKTsKLSAgICBzdHJjcHkoaW5mb0xvZywgaW5mb1NpbmsuaW5mby5jX3N0
cigpKTsKKyAgICBzdHJuY3B5KGluZm9Mb2csIGluZm9TaW5rLmluZm8uY19zdHIoKSwgaW5mb0xv
Z0xlbmd0aCk7CisgICAgaW5mb0xvZ1tpbmZvTG9nTGVuZ3RoIC0gMV0gPSAnXDAnOwogfQogCiAv
LwpAQCAtMjQxLDggKzI0NSwxMiBAQCB2b2lkIFNoR2V0T2JqZWN0Q29kZShjb25zdCBTaEhhbmRs
ZSBoYW5kbGUsIGNoYXIqIG9iakNvZGUpCiAgICAgVENvbXBpbGVyKiBjb21waWxlciA9IGJhc2Ut
PmdldEFzQ29tcGlsZXIoKTsKICAgICBpZiAoIWNvbXBpbGVyKSByZXR1cm47CiAKKyAgICBzaXpl
X3Qgb2JqQ29kZUxlbmd0aCA9IDA7CisgICAgU2hHZXRJbmZvKGhhbmRsZSwgU0hfT0JKRUNUX0NP
REVfTEVOR1RILCAmb2JqQ29kZUxlbmd0aCk7CisKICAgICBUSW5mb1NpbmsmIGluZm9TaW5rID0g
Y29tcGlsZXItPmdldEluZm9TaW5rKCk7Ci0gICAgc3RyY3B5KG9iakNvZGUsIGluZm9TaW5rLm9i
ai5jX3N0cigpKTsKKyAgICBzdHJuY3B5KG9iakNvZGUsIGluZm9TaW5rLm9iai5jX3N0cigpLCBv
YmpDb2RlTGVuZ3RoKTsKKyAgICBvYmpDb2RlW29iakNvZGVMZW5ndGggLSAxXSA9ICdcMCc7CiB9
CiAKIHZvaWQgU2hHZXRWYXJpYWJsZUluZm8oY29uc3QgU2hIYW5kbGUgaGFuZGxlLApkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9Qcm9ncmFtLmNwcCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvUHJvZ3JhbS5jcHAKaW5kZXgg
YzM4YWE1YTYxYWEzYWNhZmNmNTJiMDBkZDc4YWYxNzE5YTBjOWZjOS4uZjljYTlhNGZhMGMwYmQz
MGEzNDZlN2IyZWQ3MmNlOWNhNTE0NzFhYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9Qcm9ncmFtLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliR0xFU3YyL1Byb2dyYW0uY3BwCkBAIC0xMDYsMTcgKzEwNiwyMSBAQCB2b2lk
IEluZm9Mb2c6OmFwcGVuZChjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKIAogICAgIGlmICghbUlu
Zm9Mb2cpCiAgICAgewotICAgICAgICBtSW5mb0xvZyA9IG5ldyBjaGFyW2luZm9MZW5ndGggKyAy
XTsKLSAgICAgICAgc3RyY3B5KG1JbmZvTG9nLCBpbmZvKTsKLSAgICAgICAgc3RyY3B5KG1JbmZv
TG9nICsgaW5mb0xlbmd0aCwgIlxuIik7CisgICAgICAgIGNvbnN0IHNpemVfdCBuZXdJbmZvTG9n
TGVuZ3RoID0gaW5mb0xlbmd0aCArIDI7CisgICAgICAgIG1JbmZvTG9nID0gbmV3IGNoYXJbbmV3
SW5mb0xvZ0xlbmd0aF07CisgICAgICAgIHN0cm5jcHkobUluZm9Mb2csIGluZm8sIG5ld0luZm9M
b2dMZW5ndGgpOworICAgICAgICBzdHJuY3B5KG1JbmZvTG9nICsgaW5mb0xlbmd0aCwgIlxuIiwg
bmV3SW5mb0xvZ0xlbmd0aCAtIGluZm9MZW5ndGgpOworICAgICAgICBtSW5mb0xvZ1tuZXdJbmZv
TG9nTGVuZ3RoIC0gMV0gPSAnXDAnOwogICAgIH0KICAgICBlbHNlCiAgICAgewogICAgICAgICBz
aXplX3QgbG9nTGVuZ3RoID0gc3RybGVuKG1JbmZvTG9nKTsKLSAgICAgICAgY2hhciAqbmV3TG9n
ID0gbmV3IGNoYXJbbG9nTGVuZ3RoICsgaW5mb0xlbmd0aCArIDJdOwotICAgICAgICBzdHJjcHko
bmV3TG9nLCBtSW5mb0xvZyk7Ci0gICAgICAgIHN0cmNweShuZXdMb2cgKyBsb2dMZW5ndGgsIGlu
Zm8pOwotICAgICAgICBzdHJjcHkobmV3TG9nICsgbG9nTGVuZ3RoICsgaW5mb0xlbmd0aCwgIlxu
Iik7CisgICAgICAgIGNvbnN0IHNpemVfdCBuZXdJbmZvTG9nTGVuZ3RoID0gbG9nTGVuZ3RoICsg
aW5mb0xlbmd0aCArIDI7CisgICAgICAgIGNoYXIgKm5ld0xvZyA9IG5ldyBjaGFyW25ld0luZm9M
b2dMZW5ndGhdOworICAgICAgICBzdHJuY3B5KG5ld0xvZywgbUluZm9Mb2csIG5ld0luZm9Mb2dM
ZW5ndGgpOworICAgICAgICBzdHJuY3B5KG5ld0xvZyArIGxvZ0xlbmd0aCwgaW5mbywgbmV3SW5m
b0xvZ0xlbmd0aCAtIGxvZ0xlbmd0aCk7CisgICAgICAgIHN0cm5jcHkobmV3TG9nICsgbG9nTGVu
Z3RoICsgaW5mb0xlbmd0aCwgIlxuIiwgbmV3SW5mb0xvZ0xlbmd0aCAtIGxvZ0xlbmd0aCAtIGlu
Zm9MZW5ndGgpOworICAgICAgICBuZXdMb2dbbmV3SW5mb0xvZ0xlbmd0aCAtIDFdID0gJ1wwJzsK
IAogICAgICAgICBkZWxldGVbXSBtSW5mb0xvZzsKICAgICAgICAgbUluZm9Mb2cgPSBuZXdMb2c7
Cg==
</data>
<flag name="review"
          id="249119"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>