<?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>65678</bug_id>
          
          <creation_ts>2011-08-04 03:26:50 -0700</creation_ts>
          <short_desc>IndexedDB: Stop using free-lists for database/object store/index ids.</short_desc>
          <delta_ts>2011-08-05 01:43:14 -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>New Bugs</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></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="Hans Wennborg">hans</reporter>
          <assigned_to name="Hans Wennborg">hans</assigned_to>
          <cc>dgrogan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>446423</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-08-04 03:26:50 -0700</bug_when>
    <thetext>IndexedDB: Stop using free-lists for database/object store/index ids.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446424</commentid>
    <comment_count>1</comment_count>
      <attachid>102893</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-08-04 03:33:37 -0700</bug_when>
    <thetext>Created attachment 102893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446425</commentid>
    <comment_count>2</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-08-04 03:34:35 -0700</bug_when>
    <thetext>David, would you like to take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446584</commentid>
    <comment_count>3</comment_count>
      <attachid>102893</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2011-08-04 10:02:11 -0700</bug_when>
    <thetext>Comment on attachment 102893
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446586</commentid>
    <comment_count>4</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-08-04 10:06:43 -0700</bug_when>
    <thetext>Thanks! Tony, would you like to take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446596</commentid>
    <comment_count>5</comment_count>
      <attachid>102893</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-08-04 10:23:00 -0700</bug_when>
    <thetext>Comment on attachment 102893
Patch

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

&gt; Source/WebCore/storage/IDBLevelDBBackingStore.cpp:293
&gt; +        return -1;

Do you mean to return false here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447107</commentid>
    <comment_count>6</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-08-05 01:16:05 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 102893 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=102893&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/storage/IDBLevelDBBackingStore.cpp:293
&gt; &gt; +        return -1;
&gt; 
&gt; Do you mean to return false here?
Yes, of course. Good catch!

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447119</commentid>
    <comment_count>7</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-08-05 01:43:14 -0700</bug_when>
    <thetext>Committed r92468: &lt;http://trac.webkit.org/changeset/92468&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102893</attachid>
            <date>2011-08-04 03:33:37 -0700</date>
            <delta_ts>2011-08-04 10:23:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65678-20110804113336.patch</filename>
            <type>text/plain</type>
            <size>9406</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIzNjMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4M2Q5MzFlNzViMWVjNzdj
ZDE4MzM5YTU4MmYwNmZkOWI4NTdjM2VkLi5lNzI5MDg1ZmZhNTM5N2NhNzg5NzY5MWUxZWFmNTQ5
YWEzNGJkYzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTEtMDgtMDQgIEhhbnMg
V2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IFN0b3Ag
dXNpbmcgZnJlZS1saXN0cyBmb3IgZGF0YWJhc2Uvb2JqZWN0IHN0b3JlL2luZGV4IGlkcy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1Njc4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9uJ3QgdXNlIGZy
ZWUtbGlzdHMgZm9yIGRhdGFiYXNlL29iamVjdCBzdG9yZS9pbmRleCBpZHMsCisgICAgICAgIGp1
c3QgYXNzaWduIGluY3JlYXNpbmcgbnVtYmVycy4KKworICAgICAgICBJdCB0dXJucyBvdXQgdGhh
dCBkZWxldGluZyBhbiBvYmplY3Qgc3RvcmUgYW5kIGNyZWF0aW5nIGEgbmV3IG9uZSB3aXRoCisg
ICAgICAgIHRoZSBzYW1lIGlkIHdvdWxkIGNhdXNlIHRoZSBkZWxldGUgbWFya2VycyBmcm9tIHRo
ZSBvbGQgb2JqZWN0IHN0b3JlIHRvCisgICAgICAgIHNsb3cgZG93biBsb29rdXBzIGludG8gdGhl
IG5ldyBvbmUuIFRoZXJlZm9yZSB3ZSBzaG91bGQgZ2VuZXJhdGUKKyAgICAgICAgYSBuZXcgaWQg
ZXZlcnkgdGltZS4gUnVubmluZyBvdXQgb2YgaWRzICg2NCBiaXRzIGZvciBkYXRhYmFzZXMgYW5k
CisgICAgICAgIG9iamVjdCBzdG9yZXMsIDMyIGJpdHMgZm9yIGluZGljZXMpIGlzIG5vdCByZWFs
aXN0aWMuCisKKyAgICAgICAgQWxzbyBtYWtlIGZ1bmN0aW9ucyB0aGF0IGdlbmVyYXRlIG5ldyBp
ZHMgcmVwb3J0IGVycm9ycywgYW5kIG1ha2UgdGhlCisgICAgICAgIGNhbGxlcnMgb2YgdGhvc2Ug
ZnVuY3Rpb25zIGNoZWNrIHRoZSByZXR1cm4gdmFsdWVzLgorCisgICAgICAgIFdlIG11c3Qgc3Rp
bGwgZGVsZXRlIGZyZWUtbGlzdHMgd2hlbiBkZWxldGluZyBhbiBvYmplY3Qgc3RvcmUsIGFuZCB3
ZQorICAgICAgICBtdXN0IGtlZXAgdGhlIGNvZGUgZm9yIGVuY29kaW5nL2RlY29kaW5nL2NvbXBh
cmlzb24gb2YgZnJlZS1saXN0IGtleXMKKyAgICAgICAgc2luY2UgdXNlcnMgbWlnaHQgaGF2ZSB0
aGVtIGluIHRoZWlyIGRhdGFiYXNlcy4KKworICAgICAgICBUaGlzIGlzIGp1c3QgYSBwZXJmb3Jt
YW5jZSBvcHRpbWl6YXRpb24sIHNvIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHN0b3JhZ2Uv
SURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXROZXdEYXRh
YmFzZUlkKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OnNldElE
QkRhdGFiYXNlTWV0YURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0TmV3T2JqZWN0U3RvcmVJ
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQmFja2luZ1N0b3JlOjpjcmVhdGVPYmpl
Y3RTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQmFja2luZ1N0b3JlOjpkZWxl
dGVPYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpnZXROZXdJbmRleElkKToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OmNyZWF0ZUluZGV4KToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OmRlbGV0ZUluZGV4KToKKwogMjAx
MS0wOC0wNCAgQWxleGFuZHJ1IENoaWN1bGl0YSAgPGFjaGljdUBhZG9iZS5jb20+CiAKICAgICAg
ICAgTW92ZSBQT0RJbnRlcnZhbFRyZWUgdG8gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwCmluZGV4
IGIwYzViZTBmZDgxYjJlODViNzliYmUxMzc0ZTJlYzA1NGVjZWYxNmYuLjgyNzQ3MThlNDQ4YzY0
MTZhMDM5ZjhmYmZkMGVjNGM1NzFkZmJkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcApAQCAtMTgxLDI1ICsxODEsNiBAQCBib29s
IElEQkxldmVsREJCYWNraW5nU3RvcmU6OmV4dHJhY3RJREJEYXRhYmFzZU1ldGFEYXRhKGNvbnN0
IFN0cmluZyYgbmFtZSwgU3RyaQogCiBzdGF0aWMgaW50NjRfdCBnZXROZXdEYXRhYmFzZUlkKExl
dmVsREJEYXRhYmFzZSogZGIpCiB7Ci0gICAgY29uc3QgVmVjdG9yPGNoYXI+IGZyZWVMaXN0U3Rh
cnRLZXkgPSBEYXRhYmFzZUZyZWVMaXN0S2V5OjplbmNvZGUoMCk7Ci0gICAgY29uc3QgVmVjdG9y
PGNoYXI+IGZyZWVMaXN0U3RvcEtleSA9IERhdGFiYXNlRnJlZUxpc3RLZXk6OmVuY29kZU1heEtl
eSgpOwotCi0gICAgT3duUHRyPExldmVsREJJdGVyYXRvcj4gaXQgPSBkYi0+Y3JlYXRlSXRlcmF0
b3IoKTsKLSAgICBmb3IgKGl0LT5zZWVrKGZyZWVMaXN0U3RhcnRLZXkpOyBpdC0+aXNWYWxpZCgp
ICYmIGNvbXBhcmVLZXlzKGl0LT5rZXkoKSwgZnJlZUxpc3RTdG9wS2V5KSA8IDA7IGl0LT5uZXh0
KCkpIHsKLSAgICAgICAgY29uc3QgY2hhciAqcCA9IGl0LT5rZXkoKS5iZWdpbigpOwotICAgICAg
ICBjb25zdCBjaGFyICpsaW1pdCA9IGl0LT5rZXkoKS5lbmQoKTsKLQotICAgICAgICBEYXRhYmFz
ZUZyZWVMaXN0S2V5IGZyZWVMaXN0S2V5OwotICAgICAgICBwID0gRGF0YWJhc2VGcmVlTGlzdEtl
eTo6ZGVjb2RlKHAsIGxpbWl0LCAmZnJlZUxpc3RLZXkpOwotICAgICAgICBBU1NFUlQocCk7Ci0K
LSAgICAgICAgYm9vbCBvayA9IGRiLT5yZW1vdmUoaXQtPmtleSgpKTsKLSAgICAgICAgQVNTRVJU
X1VOVVNFRChvaywgb2spOwotCi0gICAgICAgIHJldHVybiBmcmVlTGlzdEtleS5kYXRhYmFzZUlk
KCk7Ci0gICAgfQotCi0gICAgLy8gSWYgd2UgZ290IGhlcmUsIHRoZXJlIHdhcyBubyBmcmVlLWxp
c3QuCiAgICAgaW50NjRfdCBtYXhEYXRhYmFzZUlkID0gLTE7CiAgICAgaWYgKCFnZXRJbnQoZGIs
IE1heERhdGFiYXNlSWRLZXk6OmVuY29kZSgpLCBtYXhEYXRhYmFzZUlkKSkKICAgICAgICAgbWF4
RGF0YWJhc2VJZCA9IDA7CkBAIC0yMDcsMTcgKzE4OCwxOCBAQCBzdGF0aWMgaW50NjRfdCBnZXRO
ZXdEYXRhYmFzZUlkKExldmVsREJEYXRhYmFzZSogZGIpCiAgICAgQVNTRVJUKG1heERhdGFiYXNl
SWQgPj0gMCk7CiAKICAgICBpbnQ2NF90IGRhdGFiYXNlSWQgPSBtYXhEYXRhYmFzZUlkICsgMTsK
LSAgICBib29sIG9rID0gcHV0SW50KGRiLCBNYXhEYXRhYmFzZUlkS2V5OjplbmNvZGUoKSwgZGF0
YWJhc2VJZCk7Ci0gICAgQVNTRVJUX1VOVVNFRChvaywgb2spOworICAgIGlmICghcHV0SW50KGRi
LCBNYXhEYXRhYmFzZUlkS2V5OjplbmNvZGUoKSwgZGF0YWJhc2VJZCkpCisgICAgICAgIHJldHVy
biAtMTsKIAogICAgIHJldHVybiBkYXRhYmFzZUlkOwotCiB9CiAKIGJvb2wgSURCTGV2ZWxEQkJh
Y2tpbmdTdG9yZTo6c2V0SURCRGF0YWJhc2VNZXRhRGF0YShjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdmVyc2lvbiwgaW50NjRfdCYgcm93SWQsIGJvb2wgaW52YWxpZFJvd0lkKQog
ewogICAgIGlmIChpbnZhbGlkUm93SWQpIHsKICAgICAgICAgcm93SWQgPSBnZXROZXdEYXRhYmFz
ZUlkKG1fZGIuZ2V0KCkpOworICAgICAgICBpZiAocm93SWQgPCAwKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCiAgICAgICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBrZXkgPSBEYXRhYmFzZU5h
bWVLZXk6OmVuY29kZShtX2lkZW50aWZpZXIsIG5hbWUpOwogICAgICAgICBpZiAoIXB1dEludCht
X2RiLmdldCgpLCBrZXksIHJvd0lkKSkKQEAgLTI4OSwyNCArMjcxLDYgQEAgdm9pZCBJREJMZXZl
bERCQmFja2luZ1N0b3JlOjpnZXRPYmplY3RTdG9yZXMoaW50NjRfdCBkYXRhYmFzZUlkLCBWZWN0
b3I8aW50NjRfdD4KIAogc3RhdGljIGludDY0X3QgZ2V0TmV3T2JqZWN0U3RvcmVJZChMZXZlbERC
VHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBpbnQ2NF90IGRhdGFiYXNlSWQpCiB7Ci0gICAgY29u
c3QgVmVjdG9yPGNoYXI+IGZyZWVMaXN0U3RhcnRLZXkgPSBPYmplY3RTdG9yZUZyZWVMaXN0S2V5
OjplbmNvZGUoZGF0YWJhc2VJZCwgMCk7Ci0gICAgY29uc3QgVmVjdG9yPGNoYXI+IGZyZWVMaXN0
U3RvcEtleSA9IE9iamVjdFN0b3JlRnJlZUxpc3RLZXk6OmVuY29kZU1heEtleShkYXRhYmFzZUlk
KTsKLQotICAgIE93blB0cjxMZXZlbERCSXRlcmF0b3I+IGl0ID0gdHJhbnNhY3Rpb24tPmNyZWF0
ZUl0ZXJhdG9yKCk7Ci0gICAgZm9yIChpdC0+c2VlayhmcmVlTGlzdFN0YXJ0S2V5KTsgaXQtPmlz
VmFsaWQoKSAmJiBjb21wYXJlS2V5cyhpdC0+a2V5KCksIGZyZWVMaXN0U3RvcEtleSkgPCAwOyBp
dC0+bmV4dCgpKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIqIHAgPSBpdC0+a2V5KCkuYmVnaW4oKTsK
LSAgICAgICAgY29uc3QgY2hhciogbGltaXQgPSBpdC0+a2V5KCkuZW5kKCk7Ci0KLSAgICAgICAg
T2JqZWN0U3RvcmVGcmVlTGlzdEtleSBmcmVlTGlzdEtleTsKLSAgICAgICAgcCA9IE9iamVjdFN0
b3JlRnJlZUxpc3RLZXk6OmRlY29kZShwLCBsaW1pdCwgJmZyZWVMaXN0S2V5KTsKLSAgICAgICAg
QVNTRVJUKHApOwotCi0gICAgICAgIGJvb2wgb2sgPSB0cmFuc2FjdGlvbi0+cmVtb3ZlKGl0LT5r
ZXkoKSk7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQob2ssIG9rKTsKLQotICAgICAgICByZXR1cm4g
ZnJlZUxpc3RLZXkub2JqZWN0U3RvcmVJZCgpOwotICAgIH0KLQogICAgIGludDY0X3QgbWF4T2Jq
ZWN0U3RvcmVJZCA9IC0xOwogICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBtYXhPYmplY3RTdG9yZUlk
S2V5ID0gRGF0YWJhc2VNZXRhRGF0YUtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIERhdGFiYXNlTWV0
YURhdGFLZXk6OmtNYXhPYmplY3RTdG9yZUlkKTsKICAgICBpZiAoIWdldEludCh0cmFuc2FjdGlv
biwgbWF4T2JqZWN0U3RvcmVJZEtleSwgbWF4T2JqZWN0U3RvcmVJZCkpCkBAIC0zMTUsOCArMjc5
LDggQEAgc3RhdGljIGludDY0X3QgZ2V0TmV3T2JqZWN0U3RvcmVJZChMZXZlbERCVHJhbnNhY3Rp
b24qIHRyYW5zYWN0aW9uLCBpbnQ2NF90IGRhdGEKICAgICBBU1NFUlQobWF4T2JqZWN0U3RvcmVJ
ZCA+PSAwKTsKIAogICAgIGludDY0X3Qgb2JqZWN0U3RvcmVJZCA9IG1heE9iamVjdFN0b3JlSWQg
KyAxOwotICAgIGJvb2wgb2sgPSBwdXRJbnQodHJhbnNhY3Rpb24sIG1heE9iamVjdFN0b3JlSWRL
ZXksIG9iamVjdFN0b3JlSWQpOwotICAgIEFTU0VSVF9VTlVTRUQob2ssIG9rKTsKKyAgICBpZiAo
IXB1dEludCh0cmFuc2FjdGlvbiwgbWF4T2JqZWN0U3RvcmVJZEtleSwgb2JqZWN0U3RvcmVJZCkp
CisgICAgICAgIHJldHVybiAtMTsKIAogICAgIHJldHVybiBvYmplY3RTdG9yZUlkOwogfQpAQCAt
MzI1LDYgKzI4OSw4IEBAIGJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6Y3JlYXRlT2JqZWN0
U3RvcmUoaW50NjRfdCBkYXRhYmFzZUlkLCBjb25zdCBTdHJpbmcmCiB7CiAgICAgQVNTRVJUKG1f
Y3VycmVudFRyYW5zYWN0aW9uKTsKICAgICBpbnQ2NF90IG9iamVjdFN0b3JlSWQgPSBnZXROZXdP
YmplY3RTdG9yZUlkKG1fY3VycmVudFRyYW5zYWN0aW9uLmdldCgpLCBkYXRhYmFzZUlkKTsKKyAg
ICBpZiAob2JqZWN0U3RvcmVJZCA8IDApCisgICAgICAgIHJldHVybiAtMTsKIAogICAgIGNvbnN0
IFZlY3RvcjxjaGFyPiBuYW1lS2V5ID0gT2JqZWN0U3RvcmVNZXRhRGF0YUtleTo6ZW5jb2RlKGRh
dGFiYXNlSWQsIG9iamVjdFN0b3JlSWQsIDApOwogICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBrZXlQ
YXRoS2V5ID0gT2JqZWN0U3RvcmVNZXRhRGF0YUtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVj
dFN0b3JlSWQsIDEpOwpAQCAtNDAyLDcgKzM2OCw2IEBAIHZvaWQgSURCTGV2ZWxEQkJhY2tpbmdT
dG9yZTo6ZGVsZXRlT2JqZWN0U3RvcmUoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVj
CiAgICAgaWYgKCFkZWxldGVSYW5nZShtX2N1cnJlbnRUcmFuc2FjdGlvbi5nZXQoKSwgT2JqZWN0
U3RvcmVNZXRhRGF0YUtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlSWQsIDApLCBP
YmplY3RTdG9yZU1ldGFEYXRhS2V5OjplbmNvZGUoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVJZCwg
NikpKQogICAgICAgICByZXR1cm47IC8vIEZJWE1FOiBSZXBvcnQgZXJyb3IuCiAKLSAgICBwdXRT
dHJpbmcobV9jdXJyZW50VHJhbnNhY3Rpb24uZ2V0KCksIE9iamVjdFN0b3JlRnJlZUxpc3RLZXk6
OmVuY29kZShkYXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkKSwgIiIpOwogICAgIG1fY3VycmVudFRy
YW5zYWN0aW9uLT5yZW1vdmUoT2JqZWN0U3RvcmVOYW1lc0tleTo6ZW5jb2RlKGRhdGFiYXNlSWQs
IG9iamVjdFN0b3JlTmFtZSkpOwogCiAgICAgaWYgKCFkZWxldGVSYW5nZShtX2N1cnJlbnRUcmFu
c2FjdGlvbi5nZXQoKSwgSW5kZXhGcmVlTGlzdEtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVj
dFN0b3JlSWQsIDApLCBJbmRleEZyZWVMaXN0S2V5OjplbmNvZGVNYXhLZXkoZGF0YWJhc2VJZCwg
b2JqZWN0U3RvcmVJZCkpKQpAQCAtNjM3LDI1ICs2MDIsNiBAQCB2b2lkIElEQkxldmVsREJCYWNr
aW5nU3RvcmU6OmdldEluZGV4ZXMoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0
b3JlSQogCiBzdGF0aWMgaW50NjRfdCBnZXROZXdJbmRleElkKExldmVsREJUcmFuc2FjdGlvbiog
dHJhbnNhY3Rpb24sIGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RTdG9yZUlkKQog
ewotICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBzdGFydEtleSA9IEluZGV4RnJlZUxpc3RLZXk6OmVu
Y29kZShkYXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkLCAwKTsKLSAgICBjb25zdCBWZWN0b3I8Y2hh
cj4gc3RvcEtleSA9IEluZGV4RnJlZUxpc3RLZXk6OmVuY29kZU1heEtleShkYXRhYmFzZUlkLCBv
YmplY3RTdG9yZUlkKTsKLQotICAgIE93blB0cjxMZXZlbERCSXRlcmF0b3I+IGl0ID0gdHJhbnNh
Y3Rpb24tPmNyZWF0ZUl0ZXJhdG9yKCk7Ci0gICAgZm9yIChpdC0+c2VlayhzdGFydEtleSk7IGl0
LT5pc1ZhbGlkKCkgJiYgY29tcGFyZUtleXMoaXQtPmtleSgpLCBzdG9wS2V5KSA8IDA7IGl0LT5u
ZXh0KCkpIHsKLSAgICAgICAgY29uc3QgY2hhciogcCA9IGl0LT5rZXkoKS5iZWdpbigpOwotICAg
ICAgICBjb25zdCBjaGFyKiBsaW1pdCA9IGl0LT5rZXkoKS5lbmQoKTsKLQotICAgICAgICBJbmRl
eEZyZWVMaXN0S2V5IGZyZWVMaXN0S2V5OwotICAgICAgICBwID0gSW5kZXhGcmVlTGlzdEtleTo6
ZGVjb2RlKHAsIGxpbWl0LCAmZnJlZUxpc3RLZXkpOwotICAgICAgICBBU1NFUlQocCk7Ci0KLSAg
ICAgICAgYm9vbCBvayA9IHRyYW5zYWN0aW9uLT5yZW1vdmUoaXQtPmtleSgpKTsKLSAgICAgICAg
QVNTRVJUX1VOVVNFRChvaywgb2spOwotCi0gICAgICAgIEFTU0VSVChmcmVlTGlzdEtleS5pbmRl
eElkKCkgPj0ga01pbmltdW1JbmRleElkKTsKLSAgICAgICAgcmV0dXJuIGZyZWVMaXN0S2V5Lmlu
ZGV4SWQoKTsKLSAgICB9Ci0KICAgICBpbnQ2NF90IG1heEluZGV4SWQgPSAtMTsKICAgICBjb25z
dCBWZWN0b3I8Y2hhcj4gbWF4SW5kZXhJZEtleSA9IE9iamVjdFN0b3JlTWV0YURhdGFLZXk6OmVu
Y29kZShkYXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkLCA1KTsKICAgICBpZiAoIWdldEludCh0cmFu
c2FjdGlvbiwgbWF4SW5kZXhJZEtleSwgbWF4SW5kZXhJZCkpCkBAIC02NjQsOSArNjEwLDggQEAg
c3RhdGljIGludDY0X3QgZ2V0TmV3SW5kZXhJZChMZXZlbERCVHJhbnNhY3Rpb24qIHRyYW5zYWN0
aW9uLCBpbnQ2NF90IGRhdGFiYXNlSWQKICAgICBBU1NFUlQobWF4SW5kZXhJZCA+PSAwKTsKIAog
ICAgIGludDY0X3QgaW5kZXhJZCA9IG1heEluZGV4SWQgKyAxOwotICAgIGJvb2wgb2sgPSBwdXRJ
bnQodHJhbnNhY3Rpb24sIG1heEluZGV4SWRLZXksIGluZGV4SWQpOwotICAgIGlmICghb2spCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIXB1dEludCh0cmFuc2FjdGlvbiwgbWF4SW5k
ZXhJZEtleSwgaW5kZXhJZCkpCisgICAgICAgIHJldHVybiAtMTsKIAogICAgIHJldHVybiBpbmRl
eElkOwogfQpAQCAtNjc1LDYgKzYyMCw4IEBAIGJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6
Y3JlYXRlSW5kZXgoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlCiB7CiAg
ICAgQVNTRVJUKG1fY3VycmVudFRyYW5zYWN0aW9uKTsKICAgICBpbmRleElkID0gZ2V0TmV3SW5k
ZXhJZChtX2N1cnJlbnRUcmFuc2FjdGlvbi5nZXQoKSwgZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVJ
ZCk7CisgICAgaWYgKGluZGV4SWQgPCAwKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBj
b25zdCBWZWN0b3I8Y2hhcj4gbmFtZUtleSA9IEluZGV4TWV0YURhdGFLZXk6OmVuY29kZShkYXRh
YmFzZUlkLCBvYmplY3RTdG9yZUlkLCBpbmRleElkLCAwKTsKICAgICBjb25zdCBWZWN0b3I8Y2hh
cj4gdW5pcXVlS2V5ID0gSW5kZXhNZXRhRGF0YUtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVj
dFN0b3JlSWQsIGluZGV4SWQsIDEpOwpAQCAtNzI5LDEyICs2NzYsNiBAQCB2b2lkIElEQkxldmVs
REJCYWNraW5nU3RvcmU6OmRlbGV0ZUluZGV4KGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBv
YmplY3RTdG9yZQogICAgICAgICBMT0dfRVJST1IoIkludGVybmFsIEluZGV4ZWQgREIgZXJyb3Iu
Iik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBjb25zdCBWZWN0b3I8Y2hhcj4gZnJl
ZUxpc3RLZXkgPSBJbmRleEZyZWVMaXN0S2V5OjplbmNvZGUoZGF0YWJhc2VJZCwgb2JqZWN0U3Rv
cmVJZCwgaW5kZXhJZCk7Ci0gICAgaWYgKCFwdXRJbnQobV9jdXJyZW50VHJhbnNhY3Rpb24uZ2V0
KCksIGZyZWVMaXN0S2V5LCAwKSkgewotICAgICAgICBMT0dfRVJST1IoIkludGVybmFsIEluZGV4
ZWQgREIgZXJyb3IuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CiB9CiAKIGJvb2wgSURCTGV2
ZWxEQkJhY2tpbmdTdG9yZTo6cHV0SW5kZXhEYXRhRm9yUmVjb3JkKGludDY0X3QgZGF0YWJhc2VJ
ZCwgaW50NjRfdCBvYmplY3RTdG9yZUlkLCBpbnQ2NF90IGluZGV4SWQsIGNvbnN0IElEQktleSYg
a2V5LCBjb25zdCBPYmplY3RTdG9yZVJlY29yZElkZW50aWZpZXIqIHJlY29yZElkZW50aWZpZXIp
Cg==
</data>
<flag name="review"
          id="98300"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>