<?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>33770</bug_id>
          
          <creation_ts>2010-01-17 03:02:29 -0800</creation_ts>
          <short_desc>dataFunctionMatrix leaks the array allocated by toArray</short_desc>
          <delta_ts>2010-01-19 16:59:13 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r53371%20(3490)/DumpRenderTree-leaks.txt</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Rowe (bdash)">mrowe</reporter>
          <assigned_to name="Mark Rowe (bdash)">mrowe</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>kbr</cc>
    
    <cc>mrowe</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>181600</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-01-17 03:02:29 -0800</bug_when>
    <thetext>The call to toArray allocates an array and transfers ownership to the caller.  The array is not freed.

The interface of toArray seems quite error-prone. Even internally the implementation of toArray looks like it will leak memory when error conditions are hit.  It shouldn’t be working with raw pointers that have to be explicitly freed.  A Vector&lt;T&gt; seems like a reasonable fit for this sort of data.  If it’s not a good fit for some reason, then we have OwnPtr / PassOwnPtr to manage the lifetime of manually-allocated memory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182153</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-01-18 23:32:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/7555330&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182494</commentid>
    <comment_count>2</comment_count>
      <attachid>46958</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-01-19 16:15:55 -0800</bug_when>
    <thetext>Created attachment 46958
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182496</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-19 16:22:20 -0800</bug_when>
    <thetext>Attachment 46958 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp:593:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp:641:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp:687:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
Total errors found: 3


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182497</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-01-19 16:24:08 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Attachment 46958 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
&gt; WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp:593:  A case label should
&gt; not be indented, but line up with its switch statement.  [whitespace/indent]
&gt; [4]
&gt; WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp:641:  A case label should
&gt; not be indented, but line up with its switch statement.  [whitespace/indent]
&gt; [4]
&gt; WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp:687:  A case label should
&gt; not be indented, but line up with its switch statement.  [whitespace/indent]
&gt; [4]
&gt; Total errors found: 3
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

I&apos;m not fixing any of these.  This code already did a terrible job of matching the style guidelines and fixing it all would result in it being impossible to see the substance of the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182498</commentid>
    <comment_count>5</comment_count>
      <attachid>46958</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-01-19 16:26:59 -0800</bug_when>
    <thetext>Comment on attachment 46958
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182542</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-01-19 16:59:13 -0800</bug_when>
    <thetext>Landed in r53509.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46958</attachid>
            <date>2010-01-19 16:15:55 -0800</date>
            <delta_ts>2010-01-19 16:26:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-rdar-problem-7555330-http-webkit.org-b-33770-dataFun.patch</filename>
            <type>text/plain</type>
            <size>7927</size>
            <attacher name="Mark Rowe (bdash)">mrowe</attacher>
            
              <data encoding="base64">RnJvbSBiMWI2NjMzYjMwMjk3ZGU4NWNlZTViMzI4ZmM5NjQxMWM2MTNjNDI3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFJvd2UgPG1yb3dlQGFwcGxlLmNvbT4KRGF0ZTogV2Vk
LCAyMCBKYW4gMjAxMCAwMDoxNTowMCArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIDxyZGFyOi8vcHJv
YmxlbS83NTU1MzMwPiA8aHR0cDovL3dlYmtpdC5vcmcvYi8zMzc3MD4gZGF0YUZ1bmN0aW9uTWF0
cml4IGxlYWtzIHRoZSBhcnJheSBhbGxvY2F0ZWQgYnkgdG9BcnJheQoKUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgpSZXdvcmsgdG9BcnJheSB0byBleHRyYWN0IGVsZW1lbnRzIGluIHRvIGEg
dmVjdG9yIHJhdGhlciB0aGFuIGhhbmRpbmcgb3V0IHJhdyBwb2ludGVycy4gIFRoaXMgcHJldmVu
dHMKY2FsbGVycyBmcm9tIGZvcmdldHRpbmcgdG8gZnJlZSB0aGUgbWVtb3J5LCBhbmQgZ2l2ZXMg
dGhlbSB0aGUgb3B0aW9uIG9mIHVzaW5nIHN0YWNrIGJ1ZmZlcnMgZm9yCnN1ZmZpY2llbnRseSBz
bWFsbCBhbGxvY2F0aW9ucy4KCiogYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRD
dXN0b20uY3BwOgooV2ViQ29yZTo6SlNXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdl
MkQpOgooV2ViQ29yZTo6dG9WZWN0b3IpOgooV2ViQ29yZTo6ZGF0YUZ1bmN0aW9uZik6CihXZWJD
b3JlOjpkYXRhRnVuY3Rpb25pKToKKFdlYkNvcmU6OmRhdGFGdW5jdGlvbk1hdHJpeCk6Ci0tLQog
V2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE3
ICsrKysKIC4uLi9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAg
IHwgICA5NiArKysrKysrKystLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRp
b25zKCspLCA1NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGI4NTIzM2QuLjNlM2IzNWUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDEtMTkgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU1NTMz
MD4gPGh0dHA6Ly93ZWJraXQub3JnL2IvMzM3NzA+IGRhdGFGdW5jdGlvbk1hdHJpeCBsZWFrcyB0
aGUgYXJyYXkgYWxsb2NhdGVkIGJ5IHRvQXJyYXkKKworICAgICAgICBSZXdvcmsgdG9BcnJheSB0
byBleHRyYWN0IGVsZW1lbnRzIGluIHRvIGEgdmVjdG9yIHJhdGhlciB0aGFuIGhhbmRpbmcgb3V0
IHJhdyBwb2ludGVycy4gIFRoaXMgcHJldmVudHMKKyAgICAgICAgY2FsbGVycyBmcm9tIGZvcmdl
dHRpbmcgdG8gZnJlZSB0aGUgbWVtb3J5LCBhbmQgZ2l2ZXMgdGhlbSB0aGUgb3B0aW9uIG9mIHVz
aW5nIHN0YWNrIGJ1ZmZlcnMgZm9yCisgICAgICAgIHN1ZmZpY2llbnRseSBzbWFsbCBhbGxvY2F0
aW9ucy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhT
dWJJbWFnZTJEKToKKyAgICAgICAgKFdlYkNvcmU6OnRvVmVjdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OmRhdGFGdW5jdGlvbmYpOgorICAgICAgICAoV2ViQ29yZTo6ZGF0YUZ1bmN0aW9uaSk6Cisg
ICAgICAgIChXZWJDb3JlOjpkYXRhRnVuY3Rpb25NYXRyaXgpOgorCiAyMDEwLTAxLTE5ICBEYW5p
ZWwgQmF0ZXMgIDxkYmF0ZXNAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFRy
ZWF0LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250
ZXh0Q3VzdG9tLmNwcAppbmRleCBmMjgzMDViLi5kOGRkODM3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcApAQCAtNTAy
LDMzICs1MDIsMjcgQEAgSlNWYWx1ZSBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1h
Z2UyRChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGEKICAgICB9CiAgICAgCiAgICAg
c2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsgICAg
CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci12
b2lkIHRvQXJyYXkoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSB2YWx1ZSwgVCom
IGFycmF5LCBpbnQmIHNpemUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHk+Citib29sIHRvVmVjdG9yKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUg
dmFsdWUsIFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eT4mIHZlY3RvcikKIHsKLSAgICBhcnJheSA9
IDA7Ci0gICAgCiAgICAgaWYgKCF2YWx1ZS5pc09iamVjdCgpKQotICAgICAgICByZXR1cm47Ci0g
ICAgICAgIAorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBKU0M6OkpTT2JqZWN0KiBvYmpl
Y3QgPSBhc09iamVjdCh2YWx1ZSk7Ci0gICAgaW50IGxlbmd0aCA9IG9iamVjdC0+Z2V0KGV4ZWMs
IEpTQzo6SWRlbnRpZmllcihleGVjLCAibGVuZ3RoIikpLnRvSW50MzIoZXhlYyk7Ci0gICAgdm9p
ZCogdGVtcFZhbHVlczsKLSAgICBpZiAoIXRyeUZhc3RNYWxsb2MobGVuZ3RoICogc2l6ZW9mKFQp
KS5nZXRWYWx1ZSh0ZW1wVmFsdWVzKSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIFQqIHZh
bHVlcyA9IHN0YXRpY19jYXN0PFQqPih0ZW1wVmFsdWVzKTsKLSAgICBmb3IgKGludCBpID0gMDsg
aSA8IGxlbmd0aDsgKytpKSB7CisgICAgaW50MzJfdCBsZW5ndGggPSBvYmplY3QtPmdldChleGVj
LCBKU0M6OklkZW50aWZpZXIoZXhlYywgImxlbmd0aCIpKS50b0ludDMyKGV4ZWMpOworICAgIHZl
Y3Rvci5yZXNpemUobGVuZ3RoKTsKKworICAgIGZvciAoaW50MzJfdCBpID0gMDsgaSA8IGxlbmd0
aDsgKytpKSB7CiAgICAgICAgIEpTQzo6SlNWYWx1ZSB2ID0gb2JqZWN0LT5nZXQoZXhlYywgaSk7
CiAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgdmFsdWVzW2ldID0gc3RhdGljX2Nhc3Q8VD4odi50b051bWJlcihleGVjKSk7Cisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHZlY3RvcltpXSA9IHN0YXRpY19jYXN0
PFQ+KHYudG9OdW1iZXIoZXhlYykpOwogICAgIH0KIAotICAgIGFycmF5ID0gdmFsdWVzOwotICAg
IHNpemUgPSBsZW5ndGg7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIGVudW0gRGF0YUZ1bmN0aW9u
VG9DYWxsIHsKQEAgLTU5MCwyMyArNTg0LDIwIEBAIHN0YXRpYyBKU0M6OkpTVmFsdWUgZGF0YUZ1
bmN0aW9uZihEYXRhRnVuY3Rpb25Ub0NhbGwgZiwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvCiAg
ICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CiAgICAgICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOwogICAgIH0KLSAgICAKLSAgICBmbG9hdCogYXJyYXk7Ci0gICAgaW50IHNpemU7Ci0g
ICAgdG9BcnJheTxmbG9hdD4oZXhlYywgYXJncy5hdCgxKSwgYXJyYXksIHNpemUpOwotICAgIAot
ICAgIGlmICghYXJyYXkpCisKKyAgICBWZWN0b3I8ZmxvYXQsIDY0PiBhcnJheTsKKyAgICBpZiAo
IXRvVmVjdG9yKGV4ZWMsIGFyZ3MuYXQoMSksIGFycmF5KSkKICAgICAgICAgcmV0dXJuIHRocm93
RXJyb3IoZXhlYywgVHlwZUVycm9yKTsKIAotICAgIHN3aXRjaChmKSB7Ci0gICAgICAgIGNhc2Ug
Zl91bmlmb3JtMXY6IGNvbnRleHQtPnVuaWZvcm0xZnYobG9jYXRpb24sIGFycmF5LCBzaXplLCBl
Yyk7IGJyZWFrOwotICAgICAgICBjYXNlIGZfdW5pZm9ybTJ2OiBjb250ZXh0LT51bmlmb3JtMmZ2
KGxvY2F0aW9uLCBhcnJheSwgc2l6ZSwgZWMpOyBicmVhazsKLSAgICAgICAgY2FzZSBmX3VuaWZv
cm0zdjogY29udGV4dC0+dW5pZm9ybTNmdihsb2NhdGlvbiwgYXJyYXksIHNpemUsIGVjKTsgYnJl
YWs7Ci0gICAgICAgIGNhc2UgZl91bmlmb3JtNHY6IGNvbnRleHQtPnVuaWZvcm00ZnYobG9jYXRp
b24sIGFycmF5LCBzaXplLCBlYyk7IGJyZWFrOwotICAgICAgICBjYXNlIGZfdmVydGV4QXR0cmli
MXY6IGNvbnRleHQtPnZlcnRleEF0dHJpYjFmdihpbmRleCwgYXJyYXksIHNpemUpOyBicmVhazsK
LSAgICAgICAgY2FzZSBmX3ZlcnRleEF0dHJpYjJ2OiBjb250ZXh0LT52ZXJ0ZXhBdHRyaWIyZnYo
aW5kZXgsIGFycmF5LCBzaXplKTsgYnJlYWs7Ci0gICAgICAgIGNhc2UgZl92ZXJ0ZXhBdHRyaWIz
djogY29udGV4dC0+dmVydGV4QXR0cmliM2Z2KGluZGV4LCBhcnJheSwgc2l6ZSk7IGJyZWFrOwot
ICAgICAgICBjYXNlIGZfdmVydGV4QXR0cmliNHY6IGNvbnRleHQtPnZlcnRleEF0dHJpYjRmdihp
bmRleCwgYXJyYXksIHNpemUpOyBicmVhazsKKyAgICBzd2l0Y2ggKGYpIHsKKyAgICAgICAgY2Fz
ZSBmX3VuaWZvcm0xdjogY29udGV4dC0+dW5pZm9ybTFmdihsb2NhdGlvbiwgYXJyYXkuZGF0YSgp
LCBhcnJheS5zaXplKCksIGVjKTsgYnJlYWs7CisgICAgICAgIGNhc2UgZl91bmlmb3JtMnY6IGNv
bnRleHQtPnVuaWZvcm0yZnYobG9jYXRpb24sIGFycmF5LmRhdGEoKSwgYXJyYXkuc2l6ZSgpLCBl
Yyk7IGJyZWFrOworICAgICAgICBjYXNlIGZfdW5pZm9ybTN2OiBjb250ZXh0LT51bmlmb3JtM2Z2
KGxvY2F0aW9uLCBhcnJheS5kYXRhKCksIGFycmF5LnNpemUoKSwgZWMpOyBicmVhazsKKyAgICAg
ICAgY2FzZSBmX3VuaWZvcm00djogY29udGV4dC0+dW5pZm9ybTRmdihsb2NhdGlvbiwgYXJyYXku
ZGF0YSgpLCBhcnJheS5zaXplKCksIGVjKTsgYnJlYWs7CisgICAgICAgIGNhc2UgZl92ZXJ0ZXhB
dHRyaWIxdjogY29udGV4dC0+dmVydGV4QXR0cmliMWZ2KGluZGV4LCBhcnJheS5kYXRhKCksIGFy
cmF5LnNpemUoKSk7IGJyZWFrOworICAgICAgICBjYXNlIGZfdmVydGV4QXR0cmliMnY6IGNvbnRl
eHQtPnZlcnRleEF0dHJpYjJmdihpbmRleCwgYXJyYXkuZGF0YSgpLCBhcnJheS5zaXplKCkpOyBi
cmVhazsKKyAgICAgICAgY2FzZSBmX3ZlcnRleEF0dHJpYjN2OiBjb250ZXh0LT52ZXJ0ZXhBdHRy
aWIzZnYoaW5kZXgsIGFycmF5LmRhdGEoKSwgYXJyYXkuc2l6ZSgpKTsgYnJlYWs7CisgICAgICAg
IGNhc2UgZl92ZXJ0ZXhBdHRyaWI0djogY29udGV4dC0+dmVydGV4QXR0cmliNGZ2KGluZGV4LCBh
cnJheS5kYXRhKCksIGFycmF5LnNpemUoKSk7IGJyZWFrOwogICAgIH0KICAgICAKICAgICBzZXRE
T01FeGNlcHRpb24oZXhlYywgZWMpOwpAQCAtNjQwLDE5ICs2MzEsMTcgQEAgc3RhdGljIEpTQzo6
SlNWYWx1ZSBkYXRhRnVuY3Rpb25pKERhdGFGdW5jdGlvblRvQ2FsbCBmLCBKU0M6OkV4ZWNTdGF0
ZSogZXhlYywgY28KICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAgICAgICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgfQotICAgIAotICAgIGludCogYXJyYXk7Ci0gICAg
aW50IHNpemU7Ci0gICAgdG9BcnJheTxpbnQ+KGV4ZWMsIGFyZ3MuYXQoMSksIGFycmF5LCBzaXpl
KTsKLSAgICAKLSAgICBpZiAoIWFycmF5KQorCisKKyAgICBWZWN0b3I8aW50LCA2ND4gYXJyYXk7
CisgICAgaWYgKCF0b1ZlY3RvcihleGVjLCBhcmdzLmF0KDEpLCBhcnJheSkpCiAgICAgICAgIHJl
dHVybiB0aHJvd0Vycm9yKGV4ZWMsIFR5cGVFcnJvcik7CiAKLSAgICBzd2l0Y2goZikgewotICAg
ICAgICBjYXNlIGZfdW5pZm9ybTF2OiBjb250ZXh0LT51bmlmb3JtMWl2KGxvY2F0aW9uLCBhcnJh
eSwgc2l6ZSwgZWMpOyBicmVhazsKLSAgICAgICAgY2FzZSBmX3VuaWZvcm0ydjogY29udGV4dC0+
dW5pZm9ybTJpdihsb2NhdGlvbiwgYXJyYXksIHNpemUsIGVjKTsgYnJlYWs7Ci0gICAgICAgIGNh
c2UgZl91bmlmb3JtM3Y6IGNvbnRleHQtPnVuaWZvcm0zaXYobG9jYXRpb24sIGFycmF5LCBzaXpl
LCBlYyk7IGJyZWFrOwotICAgICAgICBjYXNlIGZfdW5pZm9ybTR2OiBjb250ZXh0LT51bmlmb3Jt
NGl2KGxvY2F0aW9uLCBhcnJheSwgc2l6ZSwgZWMpOyBicmVhazsKKyAgICBzd2l0Y2ggKGYpIHsK
KyAgICAgICAgY2FzZSBmX3VuaWZvcm0xdjogY29udGV4dC0+dW5pZm9ybTFpdihsb2NhdGlvbiwg
YXJyYXkuZGF0YSgpLCBhcnJheS5zaXplKCksIGVjKTsgYnJlYWs7CisgICAgICAgIGNhc2UgZl91
bmlmb3JtMnY6IGNvbnRleHQtPnVuaWZvcm0yaXYobG9jYXRpb24sIGFycmF5LmRhdGEoKSwgYXJy
YXkuc2l6ZSgpLCBlYyk7IGJyZWFrOworICAgICAgICBjYXNlIGZfdW5pZm9ybTN2OiBjb250ZXh0
LT51bmlmb3JtM2l2KGxvY2F0aW9uLCBhcnJheS5kYXRhKCksIGFycmF5LnNpemUoKSwgZWMpOyBi
cmVhazsKKyAgICAgICAgY2FzZSBmX3VuaWZvcm00djogY29udGV4dC0+dW5pZm9ybTRpdihsb2Nh
dGlvbiwgYXJyYXkuZGF0YSgpLCBhcnJheS5zaXplKCksIGVjKTsgYnJlYWs7CiAgICAgICAgIGRl
ZmF1bHQ6IGJyZWFrOwogICAgIH0KICAgICAKQEAgLTY4OSwyMCArNjc4LDE3IEBAIHN0YXRpYyBK
U0M6OkpTVmFsdWUgZGF0YUZ1bmN0aW9uTWF0cml4KERhdGFGdW5jdGlvbk1hdHJpeFRvQ2FsbCBm
LCBKU0M6OkV4ZWNTdGF0CiAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CiAgICAg
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0KLSAgICAKLSAgICBmbG9hdCogYXJyYXk7
Ci0gICAgaW50IHNpemU7Ci0gICAgdG9BcnJheTxmbG9hdD4oZXhlYywgYXJncy5hdCgyKSwgYXJy
YXksIHNpemUpOwotICAgIAotICAgIGlmICghYXJyYXkpCisKKyAgICBWZWN0b3I8ZmxvYXQsIDY0
PiBhcnJheTsKKyAgICBpZiAoIXRvVmVjdG9yKGV4ZWMsIGFyZ3MuYXQoMiksIGFycmF5KSkKICAg
ICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgVHlwZUVycm9yKTsKIAotICAgIHN3aXRjaChm
KSB7Ci0gICAgICAgIGNhc2UgZl91bmlmb3JtTWF0cml4MmZ2OiBjb250ZXh0LT51bmlmb3JtTWF0
cml4MmZ2KGxvY2F0aW9uLCB0cmFuc3Bvc2UsIGFycmF5LCBzaXplLCBlYyk7IGJyZWFrOwotICAg
ICAgICBjYXNlIGZfdW5pZm9ybU1hdHJpeDNmdjogY29udGV4dC0+dW5pZm9ybU1hdHJpeDNmdihs
b2NhdGlvbiwgdHJhbnNwb3NlLCBhcnJheSwgc2l6ZSwgZWMpOyBicmVhazsKLSAgICAgICAgY2Fz
ZSBmX3VuaWZvcm1NYXRyaXg0ZnY6IGNvbnRleHQtPnVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb24s
IHRyYW5zcG9zZSwgYXJyYXksIHNpemUsIGVjKTsgYnJlYWs7CisgICAgc3dpdGNoIChmKSB7Cisg
ICAgICAgIGNhc2UgZl91bmlmb3JtTWF0cml4MmZ2OiBjb250ZXh0LT51bmlmb3JtTWF0cml4MmZ2
KGxvY2F0aW9uLCB0cmFuc3Bvc2UsIGFycmF5LmRhdGEoKSwgYXJyYXkuc2l6ZSgpLCBlYyk7IGJy
ZWFrOworICAgICAgICBjYXNlIGZfdW5pZm9ybU1hdHJpeDNmdjogY29udGV4dC0+dW5pZm9ybU1h
dHJpeDNmdihsb2NhdGlvbiwgdHJhbnNwb3NlLCBhcnJheS5kYXRhKCksIGFycmF5LnNpemUoKSwg
ZWMpOyBicmVhazsKKyAgICAgICAgY2FzZSBmX3VuaWZvcm1NYXRyaXg0ZnY6IGNvbnRleHQtPnVu
aWZvcm1NYXRyaXg0ZnYobG9jYXRpb24sIHRyYW5zcG9zZSwgYXJyYXkuZGF0YSgpLCBhcnJheS5z
aXplKCksIGVjKTsgYnJlYWs7CiAgICAgfQotICAgIAorCiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4
ZWMsIGVjKTsKICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0KLS0gCjEuNi42LjE5Ni5nMWY3
MzUKCg==
</data>
<flag name="review"
          id="29306"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>