<?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>28711</bug_id>
          
          <creation_ts>2009-08-25 08:11:46 -0700</creation_ts>
          <short_desc>Qt WebKit crash in QWebHistory::saveState()</short_desc>
          <delta_ts>2009-08-27 05:27:48 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>0</everconfirmed>
          <reporter name="Jędrzej Nowacki">jedrzej.nowacki</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ariya.hidayat</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>142573</commentid>
    <comment_count>0</comment_count>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2009-08-25 08:11:46 -0700</bug_when>
    <thetext>Qt WebKit crash in QWebHistory::saveState() if history instance was created from empty QWebPage and loaded by QWebHistory::restoreState(). 

Example, this code cause crash:
{
    QByteArray tmp = hist-&gt;saveState();
    QWebPage* page2 = new QWebPage(this);
    QWebHistory* hist2 = page2-&gt;history();
    for (unsigned i = 0; i &lt; 5; i++){
        hist2-&gt;restoreState(tmp);
        hist2-&gt;saveState();
    }
    delete page2;
}

Of course, the application should not crash :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142575</commentid>
    <comment_count>1</comment_count>
      <attachid>38546</attachid>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2009-08-25 08:20:21 -0700</bug_when>
    <thetext>Created attachment 38546
Path to QWebHistory::clear()

QWebHistory::clear() shouldn&apos;t create empty entry (item) if QWebHistory::count()&lt;1;

Additional autotests were added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143097</commentid>
    <comment_count>2</comment_count>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2009-08-27 05:27:48 -0700</bug_when>
    <thetext>Landed r47818
in http://trac.webkit.org/changeset/47818</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38546</attachid>
            <date>2009-08-25 08:20:21 -0700</date>
            <delta_ts>2009-08-27 05:20:54 -0700</delta_ts>
            <desc>Path to QWebHistory::clear()</desc>
            <filename>webhist.diff</filename>
            <type>text/plain</type>
            <size>5370</size>
            <attacher name="Jędrzej Nowacki">jedrzej.nowacki</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmhpc3RvcnkuY3BwIGIvV2ViS2l0L3F0L0Fw
aS9xd2ViaGlzdG9yeS5jcHAKaW5kZXggMWMxYzcyYS4uZGI0MzE3OSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3F0L0FwaS9xd2ViaGlzdG9yeS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2ViaGlzdG9y
eS5jcHAKQEAgLTI0NCwxNyArMjQ0LDI1IEBAIFFXZWJIaXN0b3J5Ojp+UVdlYkhpc3RvcnkoKQog
Ki8KIHZvaWQgUVdlYkhpc3Rvcnk6OmNsZWFyKCkKIHsKLSAgICBSZWZQdHI8V2ViQ29yZTo6SGlz
dG9yeUl0ZW0+IGN1cnJlbnQgPSBkLT5sc3QtPmN1cnJlbnRJdGVtKCk7Ci0gICAgaW50IGNhcGFj
aXR5ID0gZC0+bHN0LT5jYXBhY2l0eSgpOwotICAgIGQtPmxzdC0+c2V0Q2FwYWNpdHkoMCk7Cisg
ICAgLy9zaG9ydGN1dCB0byBwcml2YXRlIEJhY2tGb3J3YXJkTGlzdAorICAgIFdlYkNvcmU6OkJh
Y2tGb3J3YXJkTGlzdCogbHN0ID0gZC0+bHN0OwogCi0gICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9
IGQtPmxzdC0+cGFnZSgpOworICAgIC8vY2xlYXIgdmlzaXRlZCBsaW5rcworICAgIFdlYkNvcmU6
OlBhZ2UqIHBhZ2UgPSBsc3QtPnBhZ2UoKTsKICAgICBpZiAocGFnZSAmJiBwYWdlLT5ncm91cFB0
cigpKQogICAgICAgICBwYWdlLT5ncm91cFB0cigpLT5yZW1vdmVWaXNpdGVkTGlua3MoKTsKIAot
ICAgIGQtPmxzdC0+c2V0Q2FwYWNpdHkoY2FwYWNpdHkpOwotICAgIGQtPmxzdC0+YWRkSXRlbShj
dXJyZW50LmdldCgpKTsKLSAgICBkLT5sc3QtPmdvVG9JdGVtKGN1cnJlbnQuZ2V0KCkpOworICAg
IC8vaWYgY291bnQoKSA9PSAwIHRoZW4ganVzdCByZXR1cm4KKyAgICBpZiAoIWxzdC0+ZW50cmll
cygpLnNpemUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPFdlYkNvcmU6Okhpc3Rv
cnlJdGVtPiBjdXJyZW50ID0gbHN0LT5jdXJyZW50SXRlbSgpOworICAgIGludCBjYXBhY2l0eSA9
IGxzdC0+Y2FwYWNpdHkoKTsKKyAgICBsc3QtPnNldENhcGFjaXR5KDApOworCisgICAgbHN0LT5z
ZXRDYXBhY2l0eShjYXBhY2l0eSk7ICAgLy9yZXZlcnQgY2FwYWNpdHkKKyAgICBsc3QtPmFkZEl0
ZW0oY3VycmVudC5nZXQoKSk7ICAvL2luc2VydCBvbGQgY3VycmVudCBpdGVtCisgICAgbHN0LT5n
b1RvSXRlbShjdXJyZW50LmdldCgpKTsgLy9hbmQgc2V0IGl0IGFzIGN1cnJlbnQgYWdhaW4KIH0K
IAogLyohCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5n
ZUxvZwppbmRleCA4NjM2Y2I0Li44MDc4YzU3IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAwOS0wOC0y
NSAgSmVkcnplaiBOb3dhY2tpICA8amVkcnplai5ub3dhY2tpQG5va2lhLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBRV2ViSGlzdG9yeTo6Y2xl
YXIoKSBtb2RpZmljYXRpb25zLgorICAgICAgICAKKyAgICAgICAgQ2xlYXIoKSBtZXRob2Qgd2Fz
IGNoYW5nZWQuIElmIFFXZWJIaXN0b3J5IGlzIGVtcHR5ICh0aGVyZSBpcyBubworICAgICAgICBl
bGVtZW50cyBldmVuIGN1cnJlbnQpIGNsZWFyKCkgZG8gbm90aGluZy4gSWYgdGhlcmUgYXQgbGVh
c3Qgb25lCisgICAgICAgIGVsZW1lbnQgY2xlYXIoKSB3aWxsIGRlbGV0ZSBldmVyeXRoaW5nIGFw
YXJ0IG9mIGN1cnJlbnQuCisgICAgICAgIAorICAgICAgICBOZXcgYXV0b3Rlc3RzIGluIFFXZWJI
aXN0b3J5CisgICAgICAgIAorICAgICAgICBOZXcgYXV0b3Rlc3RzIHdlcmUgYWRkZWQgdG8gUVdl
Ykhpc3RvcnkuIFRoZXkgc2hvdWxkIGNoZWNrIHNvbWUgY3Jhc2hlcworICAgICAgICBpbiBzYXZl
IGFuZCByZXN0b3JlIHN0YXRlIHByb2Nlc3MgYW5kIGNsZWFyKCkgbWV0aG9kIGFuZCBnZW5lcmFs
CisgICAgICAgIGJlaGF2aW9yIG9uIHdoZXJlIFFXZWJIaXN0b3J5Ojpjb3VudCgpID09IDAgb3Ig
UVdlYkhpc3Rvcnk6OmNvdW50KCkgPT0gMQorCisgICAgICAgIEJ1Z3ppbGxhOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg3MTEKKworICAgICAgICAqIEFwaS9xd2Vi
aGlzdG9yeS5jcHA6CisgICAgICAgIChRV2ViSGlzdG9yeTo6Y2xlYXIpOgorICAgICAgICAqIHRl
c3RzL3F3ZWJoaXN0b3J5L3RzdF9xd2ViaGlzdG9yeS5jcHA6CisgICAgICAgICh0c3RfUVdlYkhp
c3Rvcnk6OmJhY2spOgorICAgICAgICAodHN0X1FXZWJIaXN0b3J5Ojpmb3J3YXJkKToKKyAgICAg
ICAgKHRzdF9RV2ViSGlzdG9yeTo6c2F2ZUFuZFJlc3RvcmVfY3Jhc2hfMSk6CisgICAgICAgICh0
c3RfUVdlYkhpc3Rvcnk6OnNhdmVBbmRSZXN0b3JlX2NyYXNoXzIpOgorICAgICAgICAodHN0X1FX
ZWJIaXN0b3J5OjpzYXZlQW5kUmVzdG9yZV9jcmFzaF8zKToKKyAgICAgICAgKHRzdF9RV2ViSGlz
dG9yeTo6Y2xlYXIpOgorCiAyMDA5LTA4LTIyICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2ZXJ0IDQ3Njg0LiAgV2UncmUgZ29pbmcgdG8gZG8gdGhpcyBsYXRl
ciBvbmNlIGNsaWVudHMgaGF2ZSBoYWQgYQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3F3
ZWJoaXN0b3J5L3RzdF9xd2ViaGlzdG9yeS5jcHAgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYmhpc3Rv
cnkvdHN0X3F3ZWJoaXN0b3J5LmNwcAppbmRleCA1YjU1NjEzLi5lYzdhMDQwIDEwMDY0NAotLS0g
YS9XZWJLaXQvcXQvdGVzdHMvcXdlYmhpc3RvcnkvdHN0X3F3ZWJoaXN0b3J5LmNwcAorKysgYi9X
ZWJLaXQvcXQvdGVzdHMvcXdlYmhpc3RvcnkvdHN0X3F3ZWJoaXN0b3J5LmNwcApAQCAtNTgsNiAr
NTgsMTEgQEAgcHJpdmF0ZSBzbG90czoKICAgICB2b2lkIHNhdmVBbmRSZXN0b3JlXzEoKTsgIC8v
c2ltcGxlIGNoZWNrcyBzYXZlU3RhdGUgYW5kIHJlc3RvcmVTdGF0ZQogICAgIHZvaWQgc2F2ZUFu
ZFJlc3RvcmVfMigpOyAgLy9iYWQgcGFyYW1ldGVycyBzYXZlU3RhdGUgYW5kIHJlc3RvcmVTdGF0
ZQogICAgIHZvaWQgc2F2ZUFuZFJlc3RvcmVfMygpOyAgLy90cnkgdXNlIGRpZmZlcmVudCB2ZXJz
aW9uCisgICAgdm9pZCBzYXZlQW5kUmVzdG9yZV9jcmFzaF8xKCk7CisgICAgdm9pZCBzYXZlQW5k
UmVzdG9yZV9jcmFzaF8yKCk7CisgICAgdm9pZCBzYXZlQW5kUmVzdG9yZV9jcmFzaF8zKCk7Cisg
ICAgdm9pZCBjbGVhcigpOworCiAKIHByaXZhdGU6CiAgICAgUVdlYlBhZ2UqIHBhZ2U7CkBAIC0x
MTksNiArMTI0LDggQEAgdm9pZCB0c3RfUVdlYkhpc3Rvcnk6OmJhY2soKQogICAgICAgICBoaXN0
LT5iYWNrKCk7CiAgICAgICAgIHdhaXRGb3JMb2FkRmluaXNoZWQuZXhlYygpOwogICAgIH0KKyAg
ICAvL3RyeSBvbmUgbW9yZSB0aW1lICh0b28gbWFueSkuIGNyYXNoIHRlc3QKKyAgICBoaXN0LT5i
YWNrKCk7CiB9CiAKIC8qKgpAQCAtMTM3LDYgKzE0NCw4IEBAIHZvaWQgdHN0X1FXZWJIaXN0b3J5
Ojpmb3J3YXJkKCkKICAgICAgICAgaGlzdC0+Zm9yd2FyZCgpOwogICAgICAgICB3YWl0Rm9yTG9h
ZEZpbmlzaGVkLmV4ZWMoKTsKICAgICB9CisgICAgLy90cnkgb25lIG1vcmUgdGltZSAodG9vIG1h
bnkpLiBjcmFzaCB0ZXN0CisgICAgaGlzdC0+Zm9yd2FyZCgpOwogfQogCiAvKioKQEAgLTMyMiw1
ICszMzEsNjMgQEAgdm9pZCB0c3RfUVdlYkhpc3Rvcnk6OnNhdmVBbmRSZXN0b3JlXzMoKQogICAg
IFFWRVJJRlkoaGlzdC0+aXRlbUF0KDMpLmlzVmFsaWQoKSk7CiB9CiAKKy8qKiBUaGUgdGVzdCBz
aG91bGRuJ3QgY3Jhc2ggKi8KK3ZvaWQgdHN0X1FXZWJIaXN0b3J5OjpzYXZlQW5kUmVzdG9yZV9j
cmFzaF8xKCkKK3sKKyAgICBRQnl0ZUFycmF5IHRtcCA9IGhpc3QtPnNhdmVTdGF0ZSgpOworICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCA1OyBpKyspeworICAgICAgICBoaXN0LT5yZXN0b3Jl
U3RhdGUodG1wKTsKKyAgICAgICAgaGlzdC0+c2F2ZVN0YXRlKCk7CisgICAgfQorfQorCisvKiog
VGhlIHRlc3Qgc2hvdWxkbid0IGNyYXNoICovCit2b2lkIHRzdF9RV2ViSGlzdG9yeTo6c2F2ZUFu
ZFJlc3RvcmVfY3Jhc2hfMigpCit7CisgICAgUUJ5dGVBcnJheSB0bXAgPSBoaXN0LT5zYXZlU3Rh
dGUoKTsKKyAgICBRV2ViUGFnZSogcGFnZTIgPSBuZXcgUVdlYlBhZ2UodGhpcyk7CisgICAgUVdl
Ykhpc3RvcnkqIGhpc3QyID0gcGFnZTItPmhpc3RvcnkoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgNTsgaSsrKXsKKyAgICAgICAgaGlzdDItPnJlc3RvcmVTdGF0ZSh0bXApOworICAg
ICAgICBoaXN0Mi0+c2F2ZVN0YXRlKCk7CisgICAgfQorICAgIGRlbGV0ZSBwYWdlMjsKK30KKwor
LyoqIFRoZSB0ZXN0IHNob3VsZG4ndCBjcmFzaCAqLwordm9pZCB0c3RfUVdlYkhpc3Rvcnk6OnNh
dmVBbmRSZXN0b3JlX2NyYXNoXzMoKQoreworICAgIFFCeXRlQXJyYXkgdG1wID0gaGlzdC0+c2F2
ZVN0YXRlKCk7CisgICAgUVdlYlBhZ2UqIHBhZ2UyID0gbmV3IFFXZWJQYWdlKHRoaXMpOworICAg
IFFXZWJIaXN0b3J5KiBoaXN0MSA9IGhpc3Q7CisgICAgUVdlYkhpc3RvcnkqIGhpc3QyID0gcGFn
ZTItPmhpc3RvcnkoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgNTsgaSsrKXsKKyAg
ICAgICAgaGlzdDEtPnJlc3RvcmVTdGF0ZSh0bXApOworICAgICAgICBoaXN0Mi0+cmVzdG9yZVN0
YXRlKHRtcCk7CisgICAgICAgIFFWRVJJRlkoaGlzdDEtPmNvdW50KCkgPT0gaGlzdDItPmNvdW50
KCkpOworICAgICAgICBRVkVSSUZZKGhpc3QxLT5jb3VudCgpID09IGhpc3RzaXplKTsKKyAgICAg
ICAgaGlzdDItPmJhY2soKTsKKyAgICAgICAgdG1wID0gaGlzdDItPnNhdmVTdGF0ZSgpOworICAg
ICAgICBoaXN0Mi0+Y2xlYXIoKTsKKyAgICB9CisgICAgZGVsZXRlIHBhZ2UyOworfQorCisvKiog
OjpjbGVhciAqLwordm9pZCB0c3RfUVdlYkhpc3Rvcnk6OmNsZWFyKCkKK3sKKyAgICBoaXN0LT5z
YXZlU3RhdGUoKTsKKyAgICBRVkVSSUZZKGhpc3QtPmNvdW50KCkgPiAxKTsKKyAgICBoaXN0LT5j
bGVhcigpOworICAgIFFWRVJJRlkoaGlzdC0+Y291bnQoKSA9PSAxKTsgIC8vbGVhdmUgY3VycmVu
dCBpdGVtCisKKyAgICBRV2ViUGFnZSogcGFnZTIgPSBuZXcgUVdlYlBhZ2UodGhpcyk7CisgICAg
UVdlYkhpc3RvcnkqIGhpc3QyID0gcGFnZTItPmhpc3RvcnkoKTsKKyAgICBRVkVSSUZZKGhpc3Qy
LT5jb3VudCgpID09IDApOworICAgIGhpc3QyLT5jbGVhcigpOworICAgIFFWRVJJRlkoaGlzdDIt
PmNvdW50KCkgPT0gMCk7IC8vZG8gbm90IGNoYW5nZSBhbnl0aGluZworICAgIGRlbGV0ZSBwYWdl
MjsKK30KKwogUVRFU1RfTUFJTih0c3RfUVdlYkhpc3RvcnkpCiAjaW5jbHVkZSAidHN0X3F3ZWJo
aXN0b3J5Lm1vYyIK
</data>
<flag name="review"
          id="19665"
          type_id="1"
          status="+"
          setter="ariya.hidayat"
    />
          </attachment>
      

    </bug>

</bugzilla>