<?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>15072</bug_id>
          
          <creation_ts>2007-08-24 13:33:21 -0700</creation_ts>
          <short_desc>Fix ImageDecoder.cpp to not copy incoming data</short_desc>
          <delta_ts>2007-09-04 23:17:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Images</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</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="Brett Wilson (Google)">brettw</reporter>
          <assigned_to name="Brett Wilson (Google)">brettw</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1534</commentid>
    <comment_count>0</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2007-08-24 13:33:21 -0700</bug_when>
    <thetext>ImageDecoder.cpp (not used by Mac, but used by various other ports) makes a copy of the incoming data and puts it into a Vector. This is unnecessary since the data is originally in a SharedBuffer that is designed not to be copied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527</commentid>
    <comment_count>1</comment_count>
      <attachid>16110</attachid>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2007-08-24 14:23:24 -0700</bug_when>
    <thetext>Created attachment 16110
Patch

This patch changes ImageDecoder.setData to take a SharedBuffer*, and I updated the other Cairo image decoders. This also fixes two compiler warnings (unused variable and a for loop type mismatch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939</commentid>
    <comment_count>2</comment_count>
      <attachid>16110</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-09-04 11:38:38 -0700</bug_when>
    <thetext>Comment on attachment 16110
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-09-04 23:17:36 -0700</bug_when>
    <thetext>Landed in r25368.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>16110</attachid>
            <date>2007-08-24 14:23:24 -0700</date>
            <delta_ts>2007-09-04 11:38:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>imagedecode.diff</filename>
            <type>text/plain</type>
            <size>9755</size>
            <attacher name="Brett Wilson (Google)">brettw</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VTb3VyY2VDYWlyby5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZVNv
dXJjZUNhaXJvLmNwcAkocmV2aXNpb24gMjUyMTYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL0ltYWdlU291cmNlQ2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyAr
MTE2LDcgQEAKICAgICBtX2RlY29kZXIgPSBjcmVhdGVEZWNvZGVyKGRhdGEtPmJ1ZmZlcigpKTsK
ICAgICBpZiAoIW1fZGVjb2RlcikKICAgICAgICAgcmV0dXJuOwotICAgIG1fZGVjb2Rlci0+c2V0
RGF0YShkYXRhLT5idWZmZXIoKSwgYWxsRGF0YVJlY2VpdmVkKTsKKyAgICBtX2RlY29kZXItPnNl
dERhdGEoZGF0YSwgYWxsRGF0YVJlY2VpdmVkKTsKIH0KIAogYm9vbCBJbWFnZVNvdXJjZTo6aXNT
aXplQXZhaWxhYmxlKCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5n
L1BOR0ltYWdlRGVjb2Rlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5oCShyZXZpc2lvbiAyNTIxNikKKysrIFdlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC00MCw3ICs0MCw3IEBACiAgICAgflBOR0ltYWdlRGVjb2RlcigpOwogCiAgICAg
Ly8gVGFrZSB0aGUgZGF0YSBhbmQgc3RvcmUgaXQuCi0gICAgdmlydHVhbCB2b2lkIHNldERhdGEo
Y29uc3QgVmVjdG9yPGNoYXI+JiBkYXRhLCBib29sIGFsbERhdGFSZWNlaXZlZCk7CisgICAgdmly
dHVhbCB2b2lkIHNldERhdGEoU2hhcmVkQnVmZmVyKiBkYXRhLCBib29sIGFsbERhdGFSZWNlaXZl
ZCk7CiAKICAgICAvLyBXaGV0aGVyIG9yIG5vdCB0aGUgc2l6ZSBpbmZvcm1hdGlvbiBoYXMgYmVl
biBkZWNvZGVkIHlldC4KICAgICB2aXJ0dWFsIGJvb2wgaXNTaXplQXZhaWxhYmxlKCkgY29uc3Q7
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFnZURlY29k
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5n
L1BOR0ltYWdlRGVjb2Rlci5jcHAJKHJldmlzaW9uIDI1MjE2KQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNvZGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTQyLDcgKzE0Miw3IEBACiB9CiAKIC8vIFRha2UgdGhlIGRhdGEgYW5kIHN0b3JlIGl0Lgot
dm9pZCBQTkdJbWFnZURlY29kZXI6OnNldERhdGEoY29uc3QgVmVjdG9yPGNoYXI+JiBkYXRhLCBi
b29sIGFsbERhdGFSZWNlaXZlZCkKK3ZvaWQgUE5HSW1hZ2VEZWNvZGVyOjpzZXREYXRhKFNoYXJl
ZEJ1ZmZlciogZGF0YSwgYm9vbCBhbGxEYXRhUmVjZWl2ZWQpCiB7CiAgICAgaWYgKG1fZmFpbGVk
KQogICAgICAgICByZXR1cm47CkBAIC0xOTIsNyArMTkyLDcgQEAKICAgICBpZiAobV9mYWlsZWQp
CiAgICAgICAgIHJldHVybjsKIAotICAgIG1fcmVhZGVyLT5kZWNvZGUobV9kYXRhLCBzaXplT25s
eSk7CisgICAgbV9yZWFkZXItPmRlY29kZShtX2RhdGEtPmJ1ZmZlcigpLCBzaXplT25seSk7CiAg
ICAgCiAgICAgaWYgKG1fZmFpbGVkIHx8ICghbV9mcmFtZUJ1ZmZlckNhY2hlLmlzRW1wdHkoKSAm
JiBtX2ZyYW1lQnVmZmVyQ2FjaGVbMF0uc3RhdHVzKCkgPT0gUkdCQTMyQnVmZmVyOjpGcmFtZUNv
bXBsZXRlKSkgewogICAgICAgICBkZWxldGUgbV9yZWFkZXI7CkBAIC0yODksNyArMjg5LDcgQEAK
IAogICAgIGlmIChyZWFkZXIoKS0+ZGVjb2RpbmdTaXplT25seSgpKSB7CiAgICAgICAgIC8vIElm
IHdlIG9ubHkgbmVlZGVkIHRoZSBzaXplLCBoYWx0IHRoZSByZWFkZXIuICAgICAKLSAgICAgICAg
cmVhZGVyKCktPnNldFJlYWRPZmZzZXQobV9kYXRhLnNpemUoKSAtIHBuZy0+YnVmZmVyX3NpemUp
OworICAgICAgICByZWFkZXIoKS0+c2V0UmVhZE9mZnNldChtX2RhdGEtPnNpemUoKSAtIHBuZy0+
YnVmZmVyX3NpemUpOwogICAgICAgICBwbmctPmJ1ZmZlcl9zaXplID0gMDsKICAgICB9CiB9CkBA
IC0zNjksNyArMzY5LDcgQEAKICAgICBpbnQgd2lkdGggPSBtX3NpemUud2lkdGgoKTsKICAgICB1
bnNpZ25lZCogZHN0ID0gYnVmZmVyLmJ5dGVzKCkuZGF0YSgpICsgcm93SW5kZXggKiB3aWR0aDsK
ICAgICBib29sIHNhd0FscGhhID0gZmFsc2U7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IHdpZHRoOyBpKyspIHsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IHdpZHRoOyBpKyspIHsKICAg
ICAgICAgdW5zaWduZWQgcmVkID0gKnJvdysrOwogICAgICAgICB1bnNpZ25lZCBncmVlbiA9ICpy
b3crKzsKICAgICAgICAgdW5zaWduZWQgYmx1ZSA9ICpyb3crKzsKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VEZWNvZGVyLmNw
cAkocmV2aXNpb24gMjUyMTYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dp
Zi9HSUZJbWFnZURlY29kZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCw3ICs5NCw3IEBACiB9
CiAKIC8vIFRha2UgdGhlIGRhdGEgYW5kIHN0b3JlIGl0Lgotdm9pZCBHSUZJbWFnZURlY29kZXI6
OnNldERhdGEoY29uc3QgVmVjdG9yPGNoYXI+JiBkYXRhLCBib29sIGFsbERhdGFSZWNlaXZlZCkK
K3ZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpzZXREYXRhKFNoYXJlZEJ1ZmZlciogZGF0YSwgYm9vbCBh
bGxEYXRhUmVjZWl2ZWQpCiB7CiAgICAgaWYgKG1fZmFpbGVkKQogICAgICAgICByZXR1cm47CkBA
IC0xMzgsNyArMTM4LDcgQEAKICAgICAgICAgLy8gc3RhdGUsIGJ1dCBmb3Igbm93IHdlIGp1c3Qg
Y3Jhd2wgYWxsIHRoZSBkYXRhLiAgTm90ZSB0aGF0IHRoaXMgaXMgbm8gd29yc2UgdGhhbiB3aGF0
CiAgICAgICAgIC8vIEltYWdlSU8gZG9lcyBvbiBNYWMgcmlnaHQgbm93IChpdCBhbHNvIGNyYXds
cyBhbGwgdGhlIGRhdGEgYWdhaW4pLgogICAgICAgICBHSUZJbWFnZURlY29kZXJQcml2YXRlIHJl
YWRlcjsKLSAgICAgICAgcmVhZGVyLmRlY29kZShtX2RhdGEsIEdJRkZyYW1lQ291bnRRdWVyeSk7
CisgICAgICAgIHJlYWRlci5kZWNvZGUobV9kYXRhLT5idWZmZXIoKSwgR0lGRnJhbWVDb3VudFF1
ZXJ5KTsKICAgICAgICAgbV9mcmFtZUNvdW50VmFsaWQgPSB0cnVlOwogICAgICAgICBtX2ZyYW1l
QnVmZmVyQ2FjaGUucmVzaXplKHJlYWRlci5mcmFtZUNvdW50KCkpOwogICAgIH0KQEAgLTE3NCw3
ICsxNzQsNyBAQAogICAgIGlmIChtX2ZhaWxlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9m
YWlsZWQgPSAhbV9yZWFkZXItPmRlY29kZShtX2RhdGEsIHF1ZXJ5LCBoYWx0QXRGcmFtZSk7Cisg
ICAgbV9mYWlsZWQgPSAhbV9yZWFkZXItPmRlY29kZShtX2RhdGEtPmJ1ZmZlcigpLCBxdWVyeSwg
aGFsdEF0RnJhbWUpOwogICAgIAogICAgIGlmIChtX2ZhaWxlZCkgewogICAgICAgICBkZWxldGUg
bV9yZWFkZXI7CkBAIC0xOTEsNyArMTkxLDcgQEAKIAogdm9pZCBHSUZJbWFnZURlY29kZXI6OmRl
Y29kaW5nSGFsdGVkKHVuc2lnbmVkIGJ5dGVzTGVmdCkKIHsKLSAgICBtX3JlYWRlci0+c2V0UmVh
ZE9mZnNldChtX2RhdGEuc2l6ZSgpIC0gYnl0ZXNMZWZ0KTsKKyAgICBtX3JlYWRlci0+c2V0UmVh
ZE9mZnNldChtX2RhdGEtPnNpemUoKSAtIGJ5dGVzTGVmdCk7CiB9CiAKIHZvaWQgR0lGSW1hZ2VE
ZWNvZGVyOjppbml0RnJhbWVCdWZmZXIoUkdCQTMyQnVmZmVyJiBidWZmZXIsIApAQCAtMjU3LDcg
KzI1Nyw2IEBACiAgICAgICAgICAgICAgICAgYm9vbCBzYXdBbHBoYSA9IGJ1ZmZlci5oYXNBbHBo
YSgpOwogICAgICAgICAgICAgICAgIEludFJlY3QgcHJldlJlY3QgPSBwcmV2aW91c0J1ZmZlci0+
cmVjdCgpOwogICAgICAgICAgICAgICAgIHVuc2lnbmVkIGVuZCA9IHByZXZSZWN0LnkoKSArIHBy
ZXZSZWN0LmhlaWdodCgpOwotICAgICAgICAgICAgICAgIHVuc2lnbmVkKiBzcmM7CiAKICAgICAg
ICAgICAgICAgICAvLyBHaXZlbiB0aGF0IHdlIGFsbG9jYXRlIGJ1ZmZlcnMgdG8gYmUgdGhlIHNh
bWUgc2l6ZSBhcyBwcmV2aW91cyBidWZmZXJzLAogICAgICAgICAgICAgICAgIC8vIEkgdGhpbmsg
dGhpcyBhc3NlcnQgc2hvdWxkIGJlIHZhbGlkLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VEZWNvZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VEZWNvZGVyLmgJKHJldmlzaW9uIDI1
MjE2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VEZWNv
ZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAKICAgICB+R0lGSW1hZ2VEZWNv
ZGVyKCk7CiAKICAgICAvLyBUYWtlIHRoZSBkYXRhIGFuZCBzdG9yZSBpdC4KLSAgICB2aXJ0dWFs
IHZvaWQgc2V0RGF0YShjb25zdCBWZWN0b3I8Y2hhcj4mIGRhdGEsIGJvb2wgYWxsRGF0YVJlY2Vp
dmVkKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RGF0YShTaGFyZWRCdWZmZXIqIGRhdGEsIGJvb2wg
YWxsRGF0YVJlY2VpdmVkKTsKIAogICAgIC8vIFdoZXRoZXIgb3Igbm90IHRoZSBzaXplIGluZm9y
bWF0aW9uIGhhcyBiZWVuIGRlY29kZWQgeWV0LgogICAgIHZpcnR1YWwgYm9vbCBpc1NpemVBdmFp
bGFibGUoKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBl
Zy9KUEVHSW1hZ2VEZWNvZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAJKHJldmlzaW9uIDI1MjE2KQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTMsNyArMzkzLDcgQEAKIH0KIAogLy8gVGFrZSB0aGUg
ZGF0YSBhbmQgc3RvcmUgaXQuCi12b2lkIEpQRUdJbWFnZURlY29kZXI6OnNldERhdGEoY29uc3Qg
VmVjdG9yPGNoYXI+JiBkYXRhLCBib29sIGFsbERhdGFSZWNlaXZlZCkKK3ZvaWQgSlBFR0ltYWdl
RGVjb2Rlcjo6c2V0RGF0YShTaGFyZWRCdWZmZXIqIGRhdGEsIGJvb2wgYWxsRGF0YVJlY2VpdmVk
KQogewogICAgIGlmIChtX2ZhaWxlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtNDQzLDcgKzQ0Myw3
IEBACiAgICAgaWYgKG1fZmFpbGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2ZhaWxlZCA9
ICFtX3JlYWRlci0+ZGVjb2RlKG1fZGF0YSwgc2l6ZU9ubHkpOworICAgIG1fZmFpbGVkID0gIW1f
cmVhZGVyLT5kZWNvZGUobV9kYXRhLT5idWZmZXIoKSwgc2l6ZU9ubHkpOwogCiAgICAgaWYgKG1f
ZmFpbGVkIHx8ICghbV9mcmFtZUJ1ZmZlckNhY2hlLmlzRW1wdHkoKSAmJiBtX2ZyYW1lQnVmZmVy
Q2FjaGVbMF0uc3RhdHVzKCkgPT0gUkdCQTMyQnVmZmVyOjpGcmFtZUNvbXBsZXRlKSkgewogICAg
ICAgICBkZWxldGUgbV9yZWFkZXI7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29k
ZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmgJKHJldmlzaW9uIDI1MjE2
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29k
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQAogICAgIH5KUEVHSW1hZ2VEZWNv
ZGVyKCk7CiAKICAgICAvLyBUYWtlIHRoZSBkYXRhIGFuZCBzdG9yZSBpdC4KLSAgICB2aXJ0dWFs
IHZvaWQgc2V0RGF0YShjb25zdCBWZWN0b3I8Y2hhcj4mIGRhdGEsIGJvb2wgYWxsRGF0YVJlY2Vp
dmVkKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RGF0YShTaGFyZWRCdWZmZXIqIGRhdGEsIGJvb2wg
YWxsRGF0YVJlY2VpdmVkKTsKIAogICAgIC8vIFdoZXRoZXIgb3Igbm90IHRoZSBzaXplIGluZm9y
bWF0aW9uIGhhcyBiZWVuIGRlY29kZWQgeWV0LgogICAgIHZpcnR1YWwgYm9vbCBpc1NpemVBdmFp
bGFibGUoKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1h
Z2VEZWNvZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9JbWFnZURlY29kZXIuaAkocmV2aXNpb24gMjUyMTYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUg
IkltYWdlU291cmNlLmgiCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Niw5ICs0NywxMCBAQAogICAg
ICAgICAgICAgICAgICAgICAgbV9pbmNsdWRlSW5OZXh0RnJhbWUoZmFsc2UpLCBtX2hhc0FscGhh
KGZhbHNlKQogICAgIHt9IAogCisgICAgY29uc3QgUkdCQTMyQXJyYXkmIGJ5dGVzKCkgY29uc3Qg
eyByZXR1cm4gbV9ieXRlczsgfQogICAgIFJHQkEzMkFycmF5JiBieXRlcygpIHsgcmV0dXJuIG1f
Ynl0ZXM7IH0KICAgICBjb25zdCBJbnRSZWN0JiByZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0
OyB9Ci0gICAgdW5zaWduZWQgaGVpZ2h0KCkgeyByZXR1cm4gbV9oZWlnaHQ7IH0KKyAgICB1bnNp
Z25lZCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hlaWdodDsgfQogICAgIEZyYW1lU3RhdHVz
IHN0YXR1cygpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdHVzOyB9CiAgICAgdW5zaWduZWQgZHVyYXRp
b24oKSBjb25zdCB7IHJldHVybiBtX2R1cmF0aW9uOyB9CiAgICAgYm9vbCBpbmNsdWRlSW5OZXh0
RnJhbWUoKSBjb25zdCB7IHJldHVybiBtX2luY2x1ZGVJbk5leHRGcmFtZTsgfQpAQCAtOTksNyAr
MTAxLDcgQEAKICAgICB2aXJ0dWFsIH5JbWFnZURlY29kZXIoKSB7fQogCiAgICAgLy8gQWxsIHNw
ZWNpZmljIGRlY29kZXIgcGx1Z2lucyBtdXN0IGRvIHNvbWV0aGluZyB3aXRoIHRoZSBkYXRhIHRo
ZXkgYXJlIGdpdmVuLgotICAgIHZpcnR1YWwgdm9pZCBzZXREYXRhKGNvbnN0IFZlY3RvcjxjaGFy
PiYgZGF0YSwgYm9vbCBhbGxEYXRhUmVjZWl2ZWQpIHsgbV9kYXRhID0gZGF0YTsgfQorICAgIHZp
cnR1YWwgdm9pZCBzZXREYXRhKFNoYXJlZEJ1ZmZlciogZGF0YSwgYm9vbCBhbGxEYXRhUmVjZWl2
ZWQpIHsgbV9kYXRhID0gZGF0YTsgfQogCiAgICAgLy8gV2hldGhlciBvciBub3QgdGhlIHNpemUg
aW5mb3JtYXRpb24gaGFzIGJlZW4gZGVjb2RlZCB5ZXQuCiAgICAgdmlydHVhbCBib29sIGlzU2l6
ZUF2YWlsYWJsZSgpIGNvbnN0ID0gMDsKQEAgLTEyNyw3ICsxMjksNyBAQAogICAgIHZvaWQgc2V0
RmFpbGVkKCkgeyBtX2ZhaWxlZCA9IHRydWU7IH0KIAogcHJvdGVjdGVkOgotICAgIFZlY3Rvcjxj
aGFyPiBtX2RhdGE7IC8vIFRoZSBlbmNvZGVkIGRhdGEuCisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gbV9kYXRhOyAvLyBUaGUgZW5jb2RlZCBkYXRhLgogICAgIFZlY3RvcjxSR0JBMzJCdWZmZXI+
IG1fZnJhbWVCdWZmZXJDYWNoZTsKICAgICBib29sIG1fc2l6ZUF2YWlsYWJsZTsKICAgICBtdXRh
YmxlIGJvb2wgbV9mYWlsZWQ7CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUyMTYpCisrKyBXZWJDb3JlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDA3LTA4LTI0ICBNYXJ2aW4gRGVj
a2VyICA8bWFydi5kZWNrZXJAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VTb3Vy
Y2VDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6c2V0RGF0YSk6Cisg
ICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmg6CisgICAgICAg
IChXZWJDb3JlOjpSR0JBMzJCdWZmZXI6OmJ5dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJHQkEz
MkJ1ZmZlcjo6aGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6c2V0RGF0
YSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OnNldERhdGEpOgorICAg
ICAgICAoV2ViQ29yZTo6R0lGSW1hZ2VEZWNvZGVyOjpmcmFtZUNvdW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkdJRkltYWdlRGVjb2Rlcjo6ZGVjb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkdJRklt
YWdlRGVjb2Rlcjo6ZGVjb2RpbmdIYWx0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6R0lGSW1hZ2VE
ZWNvZGVyOjppbml0RnJhbWVCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29k
ZXJzL2dpZi9HSUZJbWFnZURlY29kZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNv
ZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlBFR0lt
YWdlRGVjb2Rlcjo6c2V0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpKUEVHSW1hZ2VEZWNvZGVy
OjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0lt
YWdlRGVjb2Rlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJ
bWFnZURlY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UE5HSW1hZ2VEZWNvZGVyOjpzZXRE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlBOR0ltYWdlRGVjb2Rlcjo6ZGVjb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBOR0ltYWdlRGVjb2Rlcjo6aGVhZGVyQXZhaWxhYmxlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBOR0ltYWdlRGVjb2Rlcjo6cm93QXZhaWxhYmxlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNvZGVyLmg6CisKIDIwMDctMDgtMjQg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IE9saXZlcgo=
</data>
<flag name="review"
          id="6765"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>