<?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>96272</bug_id>
          
          <creation_ts>2012-09-10 07:29:39 -0700</creation_ts>
          <short_desc>NPN_InitializeVariantWithStringCopy is wrong for platforms that return NULL from malloc(0)</short_desc>
          <delta_ts>2013-01-24 16:57:52 -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>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Julien Brianceau">jbriance</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>716061</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2012-09-10 07:29:39 -0700</bug_when>
    <thetext>NPN_InitializeVariantWithStringCopy function call CRASH macro when NPString passed in parameters has a null length and malloc(0) returns NULL.
CRASH should only be called in this function for malloc failures with NPString length greater than 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716115</commentid>
    <comment_count>1</comment_count>
      <attachid>163139</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2012-09-10 08:39:13 -0700</bug_when>
    <thetext>Created attachment 163139
NPN_InitializeVariantWithStringCopy patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716123</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-10 08:46:14 -0700</bug_when>
    <thetext>Attachment 163139 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/bridge/npruntime.cpp:95:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1 in 2 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>716129</commentid>
    <comment_count>3</comment_count>
      <attachid>163142</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2012-09-10 08:55:34 -0700</bug_when>
    <thetext>Created attachment 163142
NPN_InitializeVariantWithStringCopy patch (2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716176</commentid>
    <comment_count>4</comment_count>
      <attachid>163142</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-09-10 09:47:24 -0700</bug_when>
    <thetext>Comment on attachment 163142
NPN_InitializeVariantWithStringCopy patch (2)

I wonder if we can just switch to fastMalloc/fastFree here. It doesn&apos;t look like a plug-in could directly invoke free() on the pointer.

Unlike malloc/free, fastMalloc has well defined behavior when size is 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716182</commentid>
    <comment_count>5</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2012-09-10 09:54:32 -0700</bug_when>
    <thetext>(In reply to comment #4)
I don&apos;t know if we can switch to fastMalloc/fastFree here.
Perhaps it would be good to propose this switch in a separate new changeset ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808709</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-16 14:18:21 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I don&apos;t know if we can switch to fastMalloc/fastFree here.

I think we can.

&gt; Perhaps it would be good to propose this switch in a separate new changeset ?

Perhaps, but maybe you misunderstand what Alexey meant.

Alexey’s point is that changing to fastMalloc/fastFree would be an alternate way to fix this very bug. Not that it would be an interesting bug unrelated change.

That fix would not require adding a special case for empty strings. Since we don’t have a good reason to optimize empty strings, it would be nice to fix this in a way that would not require making this otherwise-simple function more complex.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809228</commentid>
    <comment_count>7</comment_count>
      <attachid>163142</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-01-17 03:13:25 -0800</bug_when>
    <thetext>Comment on attachment 163142
NPN_InitializeVariantWithStringCopy patch (2)

Ok, I&apos;ll provide a new patch to use fastMalloc allocator for NPN objects and string variants, and perform few tests.
But I see that even fastMalloc can return 0 when USE_SYSTEM_MALLOC define is set in Source/WTF/wtf/Platform.h. Should we handle this case ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809397</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-17 09:37:26 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; But I see that even fastMalloc can return 0 when USE_SYSTEM_MALLOC define is set in Source/WTF/wtf/Platform.h.

That is incorrect.

Here is the code from FastMalloc.cpp (I removed the WTF_MALLOC_VALIDATION #if for clarity):

    void* fastMalloc(size_t n) 
    {
        ASSERT(!isForbidden());
        void* result = malloc(n);
        if (!result)
            CRASH();
        return result;
    }

The function will crash if malloc returns zero. So this implementation is not compatible with systems where the system malloc can return 0 when the passed-in size is 0. If someone needs to use USE_SYSTEM_MALLOC on a system like that, they’ll need to fix that in FastMalloc.cpp; it’s not something we have to worry about elsewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809401</commentid>
    <comment_count>9</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-01-17 09:45:00 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; But I see that even fastMalloc can return 0 when USE_SYSTEM_MALLOC define is set in Source/WTF/wtf/Platform.h.
&gt; 
&gt; That is incorrect.
&gt; 

Aw yes you&apos;re right. I looked at tryFastMalloc implementation thinking it was fastMalloc, my mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812008</commentid>
    <comment_count>10</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-01-21 03:37:19 -0800</bug_when>
    <thetext>Mmmh this seems to be more complex that I thought.

If I understand correctly NetScape plugins, a plugin can allocate its own String variant through NPN_InitializeVariantWithString call. In this case, the caller allocate the String, and this String will be released through NPReleaseVariantValue.

I&apos;m clearly not an expert in NetScape plugins but I&apos;m pretty sure that I&apos;ll introduce side effects crashes if I switch this to fastMalloc/fastFree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812472</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-21 17:01:22 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; I wonder if we can just switch to fastMalloc/fastFree here.

Given Julien’s most recent comment, it seems we can’t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813110</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-22 09:50:04 -0800</bug_when>
    <thetext>&gt; If I understand correctly NetScape plugins, a plugin can allocate its own String variant through NPN_InitializeVariantWithString call.

Do we implement that in WebKit? I could not find it anywhere in source code, only NPN_InitializeVariantWithStringCopy, which of course copies the string with any WebKit provided allocator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813141</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-22 10:21:11 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; &gt; If I understand correctly NetScape plugins, a plugin can allocate its own String variant through NPN_InitializeVariantWithString call.
&gt; 
&gt; Do we implement that in WebKit? I could not find it anywhere in source code, only NPN_InitializeVariantWithStringCopy, which of course copies the string with any WebKit provided allocator.

Lets get to the bottom of this. Either fix (fastMalloc, or adding zero check) seems OK, but we should do the fastMalloc fix if we can.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813929</commentid>
    <comment_count>14</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-01-23 00:17:09 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; 
&gt; Lets get to the bottom of this. Either fix (fastMalloc, or adding zero check) seems OK, but we should do the fastMalloc fix if we can.

I agree. I removed obsolete flag on my patch and let someone more skilled than me in NPAPI decide what to do here. Of course I won&apos;t be offended at all if this patch is dropped to switch to fastMalloc :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814232</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-23 08:31:20 -0800</bug_when>
    <thetext>Julien, can you please elaborate on your comment 10? I think that this is what preventing us from using fastMalloc to solve this siiue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814719</commentid>
    <comment_count>16</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-01-23 15:09:30 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; Julien, can you please elaborate on your comment 10? I think that this is what preventing us from using fastMalloc to solve this siiue.

I didn&apos;t find an implementation of NPN_InitializeVariantWithString in current versions of WebKit, so my comment #10 is useless.

However there is still &quot;STRINGZ_TO_NPVARIANT&quot; macro (in Source/WebCore/plugins/npruntime.h), and I read this: http://stackoverflow.com/questions/1431409/firefox-npapi-plugin-development-firefox-freeze-when-calling-a-method
So I thought that we could perhaps switch to NPN_MemAlloc/NPN_MemFree calls, then switch these 2 functions&apos; implementation to fastMalloc/fastFree (in Source/WebCore/plugins/npapi.cpp).

But it seems that there&apos;s quite an history for this: https://bugs.webkit.org/show_bug.cgi?id=20566, and I still can see this kind of comment (FIXME: This should really call NPN_MemAlloc but that&apos;s in WebKit) in Source/WebCore/bridge/NP_jsobject.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814804</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-23 16:35:40 -0800</bug_when>
    <thetext>Oh, interesting. So plug-ins can get their own data into a variant with STRINGZ_TO_NPVARIANT. The contract is that they use NPN_MemAlloc, but we don&apos;t really want to rely on that, as a comment in npnMemAlloc explains:

void* npnMemAlloc(uint32_t size)
{
    // We could use fastMalloc here, but there might be plug-ins that mix NPN_MemAlloc/NPN_MemFree with malloc and free,
    // so having them be equivalent seems like a good idea.
    return malloc(size);
}

This means that it&apos;s undesirable to switch NPN_InitializeVariantWithStringCopy to fastMalloc indeed. But we also need a comment explaining this, so that the next time someone looks at this code, they could find the explanation more easily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815281</commentid>
    <comment_count>18</comment_count>
      <attachid>184453</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-01-24 02:57:27 -0800</bug_when>
    <thetext>Created attachment 184453
NPN_InitializeVariantWithStringCopy patch (3)

Comment added in the code + ChangeLog update</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815554</commentid>
    <comment_count>19</comment_count>
      <attachid>184453</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-24 09:31:05 -0800</bug_when>
    <thetext>Comment on attachment 184453
NPN_InitializeVariantWithStringCopy patch (3)

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        No new tests. This is platform dependant.

Spelling error: dependent is not spelled with an &quot;a&quot;

&gt; Source/WebCore/bridge/npruntime.cpp:90
&gt; +        // switching to fastMalloc would be better to avoid length check but this is not desirable
&gt; +        // as NPN_MemAlloc is using malloc and there might be plugins that mix NPN_MemAlloc and malloc too

WebKit comment coding style is “sentence style”. First letter capitalized, period at end of sentence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815582</commentid>
    <comment_count>20</comment_count>
      <attachid>184523</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-01-24 10:21:58 -0800</bug_when>
    <thetext>Created attachment 184523
NPN_InitializeVariantWithStringCopy patch (4)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815657</commentid>
    <comment_count>21</comment_count>
      <attachid>184523</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-24 11:29:30 -0800</bug_when>
    <thetext>Comment on attachment 184523
NPN_InitializeVariantWithStringCopy patch (4)

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

This is going for way too long already, but I have additional comments, sorry about that.

&gt; Source/WebCore/ChangeLog:8
&gt; +        See bug 96272 comments for further information.

This is not helpful - the bug number is the same as above, so of course one would go there for additional information.

&gt; Source/WebCore/bridge/npruntime.cpp:91
&gt; +        variant-&gt;value.stringValue.UTF8Characters = (NPUTF8 *)malloc(sizeof(NPUTF8) * value-&gt;UTF8Length);

This is a pre-existing error, but WebKit style is to put star next to C++ class name (so it would be &quot;(NPUTF8*)). It&apos;s also WebKit style to use static_cast over C-style casts, although I personally don&apos;t see that as beneficial in cases like this.

&gt; Source/WebCore/bridge/npruntime.cpp:93
&gt; +        if (!variant-&gt;value.stringValue.UTF8Characters)
&gt; +            CRASH();

Can&apos;t we just change this check to the one below?

if (value-&gt;UTF8Length &amp;&amp; !variant-&gt;value.stringValue.UTF8Characters)
    CRASH();

That would be a much smaller change, and more readable code, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815858</commentid>
    <comment_count>22</comment_count>
      <attachid>184586</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-01-24 14:51:17 -0800</bug_when>
    <thetext>Created attachment 184586
 NPN_InitializeVariantWithStringCopy patch (5)

Changes performed as requested excepting for the static_cast instead of C-style cast (because there are others C-style cast in this file for malloc/free calls and I&apos;d prefer that we don&apos;t mix the bug fix with style changes).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816000</commentid>
    <comment_count>23</comment_count>
      <attachid>184586</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 16:57:47 -0800</bug_when>
    <thetext>Comment on attachment 184586
 NPN_InitializeVariantWithStringCopy patch (5)

Clearing flags on attachment: 184586

Committed r140751: &lt;http://trac.webkit.org/changeset/140751&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816001</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 16:57:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163139</attachid>
            <date>2012-09-10 08:39:13 -0700</date>
            <delta_ts>2012-09-10 08:54:47 -0700</delta_ts>
            <desc>NPN_InitializeVariantWithStringCopy patch</desc>
            <filename>webkit_NPN_InitializeVariantWithStringCopy.patch</filename>
            <type>text/plain</type>
            <size>1843</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyODA1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA5LTEwICBKdWxpZW4g
QlJJQU5DRUFVICAgPGpicmlhbmNlYXVAbmRzLmNvbT4KKworICAgICAgICBBdm9pZCBtaXN0YWtl
biBjYWxsIHRvIENSQVNIIG1hY3JvIGluIE5QTl9Jbml0aWFsaXplVmFyaWFudFdpdGhTdHJpbmdD
b3B5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYy
NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJy
aWRnZS9ucHJ1bnRpbWUuY3BwOgorICAgICAgICAoTlBOX0luaXRpYWxpemVWYXJpYW50V2l0aFN0
cmluZ0NvcHkpOgorCiAyMDEyLTA5LTEwICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5u
QG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIERyYXN0aWNhbGx5IHNob3J0ZW4gbGVuZ3RoIG9m
IGNvbW1hbmRsaW5lIG5lZWRlZCBmb3IgSlMgYmluZGluZ3MgZ2VuZXJhdG9yCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvbnBydW50aW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvbnBydW50aW1lLmNwcAkocmV2aXNpb24gMTI3MTQ4KQorKysgU291cmNlL1dl
YkNvcmUvYnJpZGdlL25wcnVudGltZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg1LDEwICs4NSwx
NCBAQCB2b2lkIE5QTl9Jbml0aWFsaXplVmFyaWFudFdpdGhTdHJpbmdDb3B5CiB7CiAgICAgdmFy
aWFudC0+dHlwZSA9IE5QVmFyaWFudFR5cGVfU3RyaW5nOwogICAgIHZhcmlhbnQtPnZhbHVlLnN0
cmluZ1ZhbHVlLlVURjhMZW5ndGggPSB2YWx1ZS0+VVRGOExlbmd0aDsKLSAgICB2YXJpYW50LT52
YWx1ZS5zdHJpbmdWYWx1ZS5VVEY4Q2hhcmFjdGVycyA9IChOUFVURjggKiltYWxsb2Moc2l6ZW9m
KE5QVVRGOCkgKiB2YWx1ZS0+VVRGOExlbmd0aCk7Ci0gICAgaWYgKCF2YXJpYW50LT52YWx1ZS5z
dHJpbmdWYWx1ZS5VVEY4Q2hhcmFjdGVycykKLSAgICAgICAgQ1JBU0goKTsKLSAgICBtZW1jcHko
KHZvaWQqKXZhcmlhbnQtPnZhbHVlLnN0cmluZ1ZhbHVlLlVURjhDaGFyYWN0ZXJzLCB2YWx1ZS0+
VVRGOENoYXJhY3RlcnMsIHNpemVvZihOUFVURjgpICogdmFsdWUtPlVURjhMZW5ndGgpOworICAg
IGlmICh2YWx1ZS0+VVRGOExlbmd0aCA+IDApIHsKKyAgICAgICAgdmFyaWFudC0+dmFsdWUuc3Ry
aW5nVmFsdWUuVVRGOENoYXJhY3RlcnMgPSAoTlBVVEY4ICopbWFsbG9jKHNpemVvZihOUFVURjgp
ICogdmFsdWUtPlVURjhMZW5ndGgpOworICAgICAgICBpZiAoIXZhcmlhbnQtPnZhbHVlLnN0cmlu
Z1ZhbHVlLlVURjhDaGFyYWN0ZXJzKQorICAgICAgICAgICAgQ1JBU0goKTsKKyAgICAgICAgbWVt
Y3B5KCh2b2lkKil2YXJpYW50LT52YWx1ZS5zdHJpbmdWYWx1ZS5VVEY4Q2hhcmFjdGVycywgdmFs
dWUtPlVURjhDaGFyYWN0ZXJzLCBzaXplb2YoTlBVVEY4KSAqIHZhbHVlLT5VVEY4TGVuZ3RoKTsK
KyAgICB9IGVsc2UgeworICAgICAgICB2YXJpYW50LT52YWx1ZS5zdHJpbmdWYWx1ZS5VVEY4Q2hh
cmFjdGVycyA9IDA7CisgICAgfQogfQogCiB2b2lkIF9OUE5fUmVsZWFzZVZhcmlhbnRWYWx1ZShO
UFZhcmlhbnQqIHZhcmlhbnQpCg==
</data>
<flag name="review"
          id="174484"
          type_id="1"
          status="-"
          setter="jbriance"
    />
    <flag name="commit-queue"
          id="174485"
          type_id="3"
          status="-"
          setter="jbriance"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163142</attachid>
            <date>2012-09-10 08:55:34 -0700</date>
            <delta_ts>2013-01-24 02:53:28 -0800</delta_ts>
            <desc>NPN_InitializeVariantWithStringCopy patch (2)</desc>
            <filename>webkit_NPN_InitializeVariantWithStringCopy_2.patch</filename>
            <type>text/plain</type>
            <size>1834</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyODA1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA5LTEwICBKdWxpZW4g
QlJJQU5DRUFVICAgPGpicmlhbmNlYXVAbmRzLmNvbT4KKworICAgICAgICBBdm9pZCBtaXN0YWtl
biBjYWxsIHRvIENSQVNIIG1hY3JvIGluIE5QTl9Jbml0aWFsaXplVmFyaWFudFdpdGhTdHJpbmdD
b3B5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYy
NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJy
aWRnZS9ucHJ1bnRpbWUuY3BwOgorICAgICAgICAoTlBOX0luaXRpYWxpemVWYXJpYW50V2l0aFN0
cmluZ0NvcHkpOgorCiAyMDEyLTA5LTEwICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5u
QG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIERyYXN0aWNhbGx5IHNob3J0ZW4gbGVuZ3RoIG9m
IGNvbW1hbmRsaW5lIG5lZWRlZCBmb3IgSlMgYmluZGluZ3MgZ2VuZXJhdG9yCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvbnBydW50aW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvbnBydW50aW1lLmNwcAkocmV2aXNpb24gMTI3MTQ4KQorKysgU291cmNlL1dl
YkNvcmUvYnJpZGdlL25wcnVudGltZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg1LDEwICs4NSwx
MyBAQCB2b2lkIE5QTl9Jbml0aWFsaXplVmFyaWFudFdpdGhTdHJpbmdDb3B5CiB7CiAgICAgdmFy
aWFudC0+dHlwZSA9IE5QVmFyaWFudFR5cGVfU3RyaW5nOwogICAgIHZhcmlhbnQtPnZhbHVlLnN0
cmluZ1ZhbHVlLlVURjhMZW5ndGggPSB2YWx1ZS0+VVRGOExlbmd0aDsKLSAgICB2YXJpYW50LT52
YWx1ZS5zdHJpbmdWYWx1ZS5VVEY4Q2hhcmFjdGVycyA9IChOUFVURjggKiltYWxsb2Moc2l6ZW9m
KE5QVVRGOCkgKiB2YWx1ZS0+VVRGOExlbmd0aCk7Ci0gICAgaWYgKCF2YXJpYW50LT52YWx1ZS5z
dHJpbmdWYWx1ZS5VVEY4Q2hhcmFjdGVycykKLSAgICAgICAgQ1JBU0goKTsKLSAgICBtZW1jcHko
KHZvaWQqKXZhcmlhbnQtPnZhbHVlLnN0cmluZ1ZhbHVlLlVURjhDaGFyYWN0ZXJzLCB2YWx1ZS0+
VVRGOENoYXJhY3RlcnMsIHNpemVvZihOUFVURjgpICogdmFsdWUtPlVURjhMZW5ndGgpOworICAg
IGlmICh2YWx1ZS0+VVRGOExlbmd0aCA+IDApIHsKKyAgICAgICAgdmFyaWFudC0+dmFsdWUuc3Ry
aW5nVmFsdWUuVVRGOENoYXJhY3RlcnMgPSAoTlBVVEY4ICopbWFsbG9jKHNpemVvZihOUFVURjgp
ICogdmFsdWUtPlVURjhMZW5ndGgpOworICAgICAgICBpZiAoIXZhcmlhbnQtPnZhbHVlLnN0cmlu
Z1ZhbHVlLlVURjhDaGFyYWN0ZXJzKQorICAgICAgICAgICAgQ1JBU0goKTsKKyAgICAgICAgbWVt
Y3B5KCh2b2lkKil2YXJpYW50LT52YWx1ZS5zdHJpbmdWYWx1ZS5VVEY4Q2hhcmFjdGVycywgdmFs
dWUtPlVURjhDaGFyYWN0ZXJzLCBzaXplb2YoTlBVVEY4KSAqIHZhbHVlLT5VVEY4TGVuZ3RoKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgdmFyaWFudC0+dmFsdWUuc3RyaW5nVmFsdWUuVVRGOENoYXJh
Y3RlcnMgPSAwOwogfQogCiB2b2lkIF9OUE5fUmVsZWFzZVZhcmlhbnRWYWx1ZShOUFZhcmlhbnQq
IHZhcmlhbnQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184453</attachid>
            <date>2013-01-24 02:57:27 -0800</date>
            <delta_ts>2013-01-24 14:52:26 -0800</delta_ts>
            <desc>NPN_InitializeVariantWithStringCopy patch (3)</desc>
            <filename>webkit_NPN_InitializeVariantWithStringCopy_3.patch</filename>
            <type>text/plain</type>
            <size>2173</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MDY2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAxLTI0ICBKdWxpZW4g
QlJJQU5DRUFVICAgPGpicmlhbmNlYXVAbmRzLmNvbT4KKworICAgICAgICBOUE5fSW5pdGlhbGl6
ZVZhcmlhbnRXaXRoU3RyaW5nQ29weSBpcyB3cm9uZyBmb3IgcGxhdGZvcm1zIHJldHVybmluZyBO
VUxMIGZyb20gbWFsbG9jKDApCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NjI3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFNlZSBidWcgOTYyNzIgY29tbWVudHMgZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24u
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIGlzIHBsYXRmb3JtIGRlcGVuZGFudC4KKwor
ICAgICAgICAqIGJyaWRnZS9ucHJ1bnRpbWUuY3BwOgorICAgICAgICAoTlBOX0luaXRpYWxpemVW
YXJpYW50V2l0aFN0cmluZ0NvcHkpOgorCiAyMDEzLTAxLTI0ICBQYXZlbCBGZWxkbWFuICA8cGZl
bGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGJyZWFrcG9pbnRz
IGFyZSBub3QgcmVzdG9yZWQgdXBvbiByZWxvYWQgZm9yIHNjcmlwdHMgd2l0aCBzY3JpcHQgbWFw
cGluZy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JyaWRnZS9ucHJ1bnRpbWUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JyaWRnZS9ucHJ1bnRpbWUuY3BwCShyZXZpc2lvbiAxNDA2
NjEpCisrKyBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvbnBydW50aW1lLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtODUsMTAgKzg1LDE1IEBAIHZvaWQgTlBOX0luaXRpYWxpemVWYXJpYW50V2l0aFN0cmlu
Z0NvcHkKIHsKICAgICB2YXJpYW50LT50eXBlID0gTlBWYXJpYW50VHlwZV9TdHJpbmc7CiAgICAg
dmFyaWFudC0+dmFsdWUuc3RyaW5nVmFsdWUuVVRGOExlbmd0aCA9IHZhbHVlLT5VVEY4TGVuZ3Ro
OwotICAgIHZhcmlhbnQtPnZhbHVlLnN0cmluZ1ZhbHVlLlVURjhDaGFyYWN0ZXJzID0gKE5QVVRG
OCAqKW1hbGxvYyhzaXplb2YoTlBVVEY4KSAqIHZhbHVlLT5VVEY4TGVuZ3RoKTsKLSAgICBpZiAo
IXZhcmlhbnQtPnZhbHVlLnN0cmluZ1ZhbHVlLlVURjhDaGFyYWN0ZXJzKQotICAgICAgICBDUkFT
SCgpOwotICAgIG1lbWNweSgodm9pZCopdmFyaWFudC0+dmFsdWUuc3RyaW5nVmFsdWUuVVRGOENo
YXJhY3RlcnMsIHZhbHVlLT5VVEY4Q2hhcmFjdGVycywgc2l6ZW9mKE5QVVRGOCkgKiB2YWx1ZS0+
VVRGOExlbmd0aCk7CisgICAgaWYgKHZhbHVlLT5VVEY4TGVuZ3RoID4gMCkgeworICAgICAgICAv
LyBzd2l0Y2hpbmcgdG8gZmFzdE1hbGxvYyB3b3VsZCBiZSBiZXR0ZXIgdG8gYXZvaWQgbGVuZ3Ro
IGNoZWNrIGJ1dCB0aGlzIGlzIG5vdCBkZXNpcmFibGUKKyAgICAgICAgLy8gYXMgTlBOX01lbUFs
bG9jIGlzIHVzaW5nIG1hbGxvYyBhbmQgdGhlcmUgbWlnaHQgYmUgcGx1Z2lucyB0aGF0IG1peCBO
UE5fTWVtQWxsb2MgYW5kIG1hbGxvYyB0b28KKyAgICAgICAgdmFyaWFudC0+dmFsdWUuc3RyaW5n
VmFsdWUuVVRGOENoYXJhY3RlcnMgPSAoTlBVVEY4ICopbWFsbG9jKHNpemVvZihOUFVURjgpICog
dmFsdWUtPlVURjhMZW5ndGgpOworICAgICAgICBpZiAoIXZhcmlhbnQtPnZhbHVlLnN0cmluZ1Zh
bHVlLlVURjhDaGFyYWN0ZXJzKQorICAgICAgICAgICAgQ1JBU0goKTsKKyAgICAgICAgbWVtY3B5
KCh2b2lkKil2YXJpYW50LT52YWx1ZS5zdHJpbmdWYWx1ZS5VVEY4Q2hhcmFjdGVycywgdmFsdWUt
PlVURjhDaGFyYWN0ZXJzLCBzaXplb2YoTlBVVEY4KSAqIHZhbHVlLT5VVEY4TGVuZ3RoKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgdmFyaWFudC0+dmFsdWUuc3RyaW5nVmFsdWUuVVRGOENoYXJhY3Rl
cnMgPSAwOwogfQogCiB2b2lkIF9OUE5fUmVsZWFzZVZhcmlhbnRWYWx1ZShOUFZhcmlhbnQqIHZh
cmlhbnQpCg==
</data>
<flag name="review"
          id="203191"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="203192"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184523</attachid>
            <date>2013-01-24 10:21:58 -0800</date>
            <delta_ts>2013-01-24 14:52:08 -0800</delta_ts>
            <desc>NPN_InitializeVariantWithStringCopy patch (4)</desc>
            <filename>webkit_NPN_InitializeVariantWithStringCopy_4.patch</filename>
            <type>text/plain</type>
            <size>2174</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MDY2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAxLTI0ICBKdWxpZW4g
QlJJQU5DRUFVICAgPGpicmlhbmNlYXVAbmRzLmNvbT4KKworICAgICAgICBOUE5fSW5pdGlhbGl6
ZVZhcmlhbnRXaXRoU3RyaW5nQ29weSBpcyB3cm9uZyBmb3IgcGxhdGZvcm1zIHJldHVybmluZyBO
VUxMIGZyb20gbWFsbG9jKDApCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NjI3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFNlZSBidWcgOTYyNzIgY29tbWVudHMgZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24u
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIGlzIHBsYXRmb3JtIGRlcGVuZGVudC4KKwor
ICAgICAgICAqIGJyaWRnZS9ucHJ1bnRpbWUuY3BwOgorICAgICAgICAoTlBOX0luaXRpYWxpemVW
YXJpYW50V2l0aFN0cmluZ0NvcHkpOgorCiAyMDEzLTAxLTI0ICBQYXZlbCBGZWxkbWFuICA8cGZl
bGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGJyZWFrcG9pbnRz
IGFyZSBub3QgcmVzdG9yZWQgdXBvbiByZWxvYWQgZm9yIHNjcmlwdHMgd2l0aCBzY3JpcHQgbWFw
cGluZy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JyaWRnZS9ucHJ1bnRpbWUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JyaWRnZS9ucHJ1bnRpbWUuY3BwCShyZXZpc2lvbiAxNDA2
NjEpCisrKyBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvbnBydW50aW1lLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtODUsMTAgKzg1LDE1IEBAIHZvaWQgTlBOX0luaXRpYWxpemVWYXJpYW50V2l0aFN0cmlu
Z0NvcHkKIHsKICAgICB2YXJpYW50LT50eXBlID0gTlBWYXJpYW50VHlwZV9TdHJpbmc7CiAgICAg
dmFyaWFudC0+dmFsdWUuc3RyaW5nVmFsdWUuVVRGOExlbmd0aCA9IHZhbHVlLT5VVEY4TGVuZ3Ro
OwotICAgIHZhcmlhbnQtPnZhbHVlLnN0cmluZ1ZhbHVlLlVURjhDaGFyYWN0ZXJzID0gKE5QVVRG
OCAqKW1hbGxvYyhzaXplb2YoTlBVVEY4KSAqIHZhbHVlLT5VVEY4TGVuZ3RoKTsKLSAgICBpZiAo
IXZhcmlhbnQtPnZhbHVlLnN0cmluZ1ZhbHVlLlVURjhDaGFyYWN0ZXJzKQotICAgICAgICBDUkFT
SCgpOwotICAgIG1lbWNweSgodm9pZCopdmFyaWFudC0+dmFsdWUuc3RyaW5nVmFsdWUuVVRGOENo
YXJhY3RlcnMsIHZhbHVlLT5VVEY4Q2hhcmFjdGVycywgc2l6ZW9mKE5QVVRGOCkgKiB2YWx1ZS0+
VVRGOExlbmd0aCk7CisgICAgaWYgKHZhbHVlLT5VVEY4TGVuZ3RoID4gMCkgeworICAgICAgICAv
LyBTd2l0Y2hpbmcgdG8gZmFzdE1hbGxvYyB3b3VsZCBiZSBiZXR0ZXIgdG8gYXZvaWQgbGVuZ3Ro
IGNoZWNrIGJ1dCB0aGlzIGlzIG5vdCBkZXNpcmFibGUKKyAgICAgICAgLy8gYXMgTlBOX01lbUFs
bG9jIGlzIHVzaW5nIG1hbGxvYyBhbmQgdGhlcmUgbWlnaHQgYmUgcGx1Z2lucyB0aGF0IG1peCBO
UE5fTWVtQWxsb2MgYW5kIG1hbGxvYyB0b28uCisgICAgICAgIHZhcmlhbnQtPnZhbHVlLnN0cmlu
Z1ZhbHVlLlVURjhDaGFyYWN0ZXJzID0gKE5QVVRGOCAqKW1hbGxvYyhzaXplb2YoTlBVVEY4KSAq
IHZhbHVlLT5VVEY4TGVuZ3RoKTsKKyAgICAgICAgaWYgKCF2YXJpYW50LT52YWx1ZS5zdHJpbmdW
YWx1ZS5VVEY4Q2hhcmFjdGVycykKKyAgICAgICAgICAgIENSQVNIKCk7CisgICAgICAgIG1lbWNw
eSgodm9pZCopdmFyaWFudC0+dmFsdWUuc3RyaW5nVmFsdWUuVVRGOENoYXJhY3RlcnMsIHZhbHVl
LT5VVEY4Q2hhcmFjdGVycywgc2l6ZW9mKE5QVVRGOCkgKiB2YWx1ZS0+VVRGOExlbmd0aCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIHZhcmlhbnQtPnZhbHVlLnN0cmluZ1ZhbHVlLlVURjhDaGFyYWN0
ZXJzID0gMDsKIH0KIAogdm9pZCBfTlBOX1JlbGVhc2VWYXJpYW50VmFsdWUoTlBWYXJpYW50KiB2
YXJpYW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184586</attachid>
            <date>2013-01-24 14:51:17 -0800</date>
            <delta_ts>2013-01-24 16:57:47 -0800</delta_ts>
            <desc> NPN_InitializeVariantWithStringCopy patch (5)</desc>
            <filename>webkit_NPN_InitializeVariantWithStringCopy_5.patch</filename>
            <type>text/plain</type>
            <size>1770</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MDcyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAxLTI0ICBKdWxpZW4g
QnJpYW5jZWF1ICA8amJyaWFuY2VhdUBuZHMuY29tPgorCisgICAgICAgIE5QTl9Jbml0aWFsaXpl
VmFyaWFudFdpdGhTdHJpbmdDb3B5IGlzIHdyb25nIGZvciBwbGF0Zm9ybXMgcmV0dXJuaW5nIE5V
TEwgZnJvbSBtYWxsb2MoMCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk2MjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIGlzIHBsYXRmb3JtIGRlcGVuZGVudC4KKworICAg
ICAgICAqIGJyaWRnZS9ucHJ1bnRpbWUuY3BwOgorICAgICAgICAoTlBOX0luaXRpYWxpemVWYXJp
YW50V2l0aFN0cmluZ0NvcHkpOgorCiAyMDEzLTAxLTI0ICBQaGlsaXAgUm9nZXJzICA8cGRyQGdv
b2dsZS5jb20+CiAKICAgICAgICAgUHJlc2VydmUgY29udGFpbmVyIHNpemUgcmVxdWVzdHMgYWNy
b3NzIGltYWdlIGxvYWRzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvbnBydW50aW1lLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvbnBydW50aW1lLmNwcAkocmV2
aXNpb24gMTQwNzE4KQorKysgU291cmNlL1dlYkNvcmUvYnJpZGdlL25wcnVudGltZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTg1LDggKzg1LDEwIEBAIHZvaWQgTlBOX0luaXRpYWxpemVWYXJpYW50
V2l0aFN0cmluZ0NvcHkKIHsKICAgICB2YXJpYW50LT50eXBlID0gTlBWYXJpYW50VHlwZV9TdHJp
bmc7CiAgICAgdmFyaWFudC0+dmFsdWUuc3RyaW5nVmFsdWUuVVRGOExlbmd0aCA9IHZhbHVlLT5V
VEY4TGVuZ3RoOwotICAgIHZhcmlhbnQtPnZhbHVlLnN0cmluZ1ZhbHVlLlVURjhDaGFyYWN0ZXJz
ID0gKE5QVVRGOCAqKW1hbGxvYyhzaXplb2YoTlBVVEY4KSAqIHZhbHVlLT5VVEY4TGVuZ3RoKTsK
LSAgICBpZiAoIXZhcmlhbnQtPnZhbHVlLnN0cmluZ1ZhbHVlLlVURjhDaGFyYWN0ZXJzKQorICAg
IC8vIFN3aXRjaGluZyB0byBmYXN0TWFsbG9jIHdvdWxkIGJlIGJldHRlciB0byBhdm9pZCBsZW5n
dGggY2hlY2sgYnV0IHRoaXMgaXMgbm90IGRlc2lyYWJsZQorICAgIC8vIGFzIE5QTl9NZW1BbGxv
YyBpcyB1c2luZyBtYWxsb2MgYW5kIHRoZXJlIG1pZ2h0IGJlIHBsdWdpbnMgdGhhdCBtaXggTlBO
X01lbUFsbG9jIGFuZCBtYWxsb2MgdG9vLgorICAgIHZhcmlhbnQtPnZhbHVlLnN0cmluZ1ZhbHVl
LlVURjhDaGFyYWN0ZXJzID0gKE5QVVRGOCopbWFsbG9jKHNpemVvZihOUFVURjgpICogdmFsdWUt
PlVURjhMZW5ndGgpOworICAgIGlmICh2YWx1ZS0+VVRGOExlbmd0aCAmJiAhdmFyaWFudC0+dmFs
dWUuc3RyaW5nVmFsdWUuVVRGOENoYXJhY3RlcnMpCiAgICAgICAgIENSQVNIKCk7CiAgICAgbWVt
Y3B5KCh2b2lkKil2YXJpYW50LT52YWx1ZS5zdHJpbmdWYWx1ZS5VVEY4Q2hhcmFjdGVycywgdmFs
dWUtPlVURjhDaGFyYWN0ZXJzLCBzaXplb2YoTlBVVEY4KSAqIHZhbHVlLT5VVEY4TGVuZ3RoKTsK
IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>