<?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>19939</bug_id>
          
          <creation_ts>2008-07-08 02:01:30 -0700</creation_ts>
          <short_desc>[GTK] webkit_web_history_item_get_title() fails with assertion</short_desc>
          <delta_ts>2008-09-19 00:44:37 -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>WebKitGTK</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>19898</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sven Neumann">webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
    
    <cc>jmalonzo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>85443</commentid>
    <comment_count>0</comment_count>
    <who name="Sven Neumann">webkit</who>
    <bug_when>2008-07-08 02:01:30 -0700</bug_when>
    <thetext>This happens in the GIMP help-browser with webkit release 1.0.1. This code used to work correctly with webkit svn32442, so this looks like a regression in your code.

When calling webkit_web_history_item_get_title() on an item from the list obtained with webkit_web_back_forward_list_get_back_list_with_limit() a NULL title is returned and there&apos;s an assertion in the webkit code:

** CRITICAL **: const gchar* webkit_web_history_item_get_title(WebKitWebHistoryItem*): assertion `item != NULL&apos; failed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86655</commentid>
    <comment_count>1</comment_count>
    <who name="Sven Neumann">webkit</who>
    <bug_when>2008-07-22 09:09:15 -0700</bug_when>
    <thetext>Might be related to bug #19898, perhaps it is even fixed by the patch attached there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>87871</commentid>
    <comment_count>2</comment_count>
      <attachid>22656</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-08-05 09:34:20 -0700</bug_when>
    <thetext>Created attachment 22656
Fix history management

This patch fixes recently introduced regressions in WebHistory. Candidate for backporting to 1.0.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>87938</commentid>
    <comment_count>3</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-08-06 04:34:52 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created an attachment (id=22656) [edit]
&gt; Fix history management
&gt; 
&gt; This patch fixes recently introduced regressions in WebHistory. Candidate for
&gt; backporting to 1.0.1.
&gt; 

@@ -257,9 +255,14 @@ WebKitWebHistoryItem* webkit_web_history
 {
     WebKitWebHistoryItem* webHistoryItem = kit(item);
 
-    if (!webHistoryItem) {
+    if (webHistoryItem)
+        g_object_ref(webHistoryItem);
+    else {

I don&apos;t think increasing the ref count is necessary here. The backforwardlist already does that when it uses this function and there&apos;s no way to unref the webHistoryItem when you do it here.

Looks good otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88017</commentid>
    <comment_count>4</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-08-06 21:40:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Created an attachment (id=22656) [edit]
&gt; &gt; Fix history management
&gt; &gt; 
&gt; &gt; This patch fixes recently introduced regressions in WebHistory. Candidate for
&gt; &gt; backporting to 1.0.1.
&gt; &gt; 
&gt; 
&gt; @@ -257,9 +255,14 @@ WebKitWebHistoryItem* webkit_web_history
&gt;  {
&gt;      WebKitWebHistoryItem* webHistoryItem = kit(item);
&gt; 
&gt; -    if (!webHistoryItem) {
&gt; +    if (webHistoryItem)
&gt; +        g_object_ref(webHistoryItem);
&gt; +    else {
&gt; 
&gt; I don&apos;t think increasing the ref count is necessary here. The backforwardlist
&gt; already does that when it uses this function and there&apos;s no way to unref the
&gt; webHistoryItem when you do it here.
&gt; 
&gt; Looks good otherwise.
&gt; 

I did this simply to balance object reference counts, since the other code path creates a new instance:

 {
     WebKitWebHistoryItem* webHistoryItem = kit(item);
 
-    if (!webHistoryItem) {
+    if (webHistoryItem)
+        g_object_ref(webHistoryItem);
+    else {
         webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(g_object_new(WEBKIT_TYPE_WEB_HISTORY_ITEM, NULL));
-        webkit_history_item_add(webHistoryItem, core(webHistoryItem));
+        WebKitWebHistoryItemPrivate* priv = webHistoryItem-&gt;priv;
+
+        priv-&gt;historyItem = item;
+        webkit_history_item_add(webHistoryItem, priv-&gt;historyItem.get());
     }

This probably doesn&apos;t solve memory management issues here but at least it&apos;s consistent this way.

Bug #19898 might solve memory issues more fully but I wanted to get the crasher fix in soonish. I&apos;m happy to get this one in with or without the ref change to get things usable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88033</commentid>
    <comment_count>5</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-08-07 05:16:07 -0700</bug_when>
    <thetext>(In reply to comment #4)

&lt;snip&gt;

&gt; This probably doesn&apos;t solve memory management issues here but at least it&apos;s
&gt; consistent this way.
&gt; 
&gt; Bug #19898 might solve memory issues more fully but I wanted to get the crasher
&gt; fix in soonish. I&apos;m happy to get this one in with or without the ref change to
&gt; get things usable.
&gt; 

That&apos;s cool. It&apos;s better to commit it without the ref change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89558</commentid>
    <comment_count>6</comment_count>
      <attachid>22656</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-08-27 16:36:07 -0700</bug_when>
    <thetext>Comment on attachment 22656
Fix history management

Looks sane enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89858</commentid>
    <comment_count>7</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-09-01 05:45:24 -0700</bug_when>
    <thetext>landed in r36012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91743</commentid>
    <comment_count>8</comment_count>
    <who name="Sven Neumann">webkit</who>
    <bug_when>2008-09-19 00:44:37 -0700</bug_when>
    <thetext>It would totally rock if there was a release with this fix. Any plans for an 1.0.2 release? Or did I just miss it and it already happened?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22656</attachid>
            <date>2008-08-05 09:34:20 -0700</date>
            <delta_ts>2008-08-27 16:36:07 -0700</delta_ts>
            <desc>Fix history management</desc>
            <filename>history.patch</filename>
            <type>text/plain</type>
            <size>10298</size>
            <attacher name="Alp Toker">alp</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvQ2hh
bmdlTG9nCShyZXZpc2lvbiAzNTU1OCkKKysrIFdlYktpdC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMzQgQEAKKzIwMDgtMDgtMDUgIEFscCBUb2tlciAgPGFscEBudWFu
dGkuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTkzOQorICAgICAgICBb
R1RLXSB3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9nZXRfdGl0bGUoKSBmYWlscyB3aXRoIGFzc2Vy
dGlvbgorCisgICAgICAgIE1ha2Ugc3VyZSBuZXdseSBjb25zdHJ1Y3RlZCBXZWJIaXN0b3J5SXRl
bSBvYmplY3RzIHdyYXAgYSBXZWJDb3JlCisgICAgICAgIGhpc3RvcnkgaXRlbSB3aGVuIG5lY2Vz
c2FyeS4gQXZvaWQgR19QQVJBTV9DT05TVFJVQ1Qgc2luY2UgaXQgZGVzdHJveXMKKyAgICAgICAg
aGlzdG9yeSBkYXRhIC0tIHVzZSBXRUJLSVRfUEFSQU0gZmxhZ3MgaW5zdGVhZCBhcyB0aGV5IGRv
IHRoZSByaWdodAorICAgICAgICB0aGluZy4gVGhpcyByZXN0b3JlcyBoaXN0b3J5IGZ1bmN0aW9u
YWxpdHkuCisKKyAgICAgICAgQWxzbyB1c2UgQ1N0cmluZyB0byBzaW1wbGlmeSBVVEYtOCBzdHJp
bmcgbWFuYWdlbWVudC4KKworICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxp
c3QuY3BwOgorICAgICAgICAoX1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdFByaXZhdGU6OndlYmtp
dF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRfbGlzdF93aXRoX2xpbWl0KToKKyAg
ICAgICAgKF9XZWJLaXRXZWJCYWNrRm9yd2FyZExpc3RQcml2YXRlOjp3ZWJraXRfd2ViX2JhY2tf
Zm9yd2FyZF9saXN0X2dldF9iYWNrX2xpc3Rfd2l0aF9saW1pdCk6CisgICAgICAgIE5vIG5lZWQg
dG8gaW5pdGlhbGl6ZSB0aGUgdmVjdG9yIHdpdGggYSBzaXplIHNpbmNlIGl0J3MgY2xlYXJlZCBi
eSB0aGUKKyAgICAgICAgY2FsbGVlLgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJoaXN0b3J5
aXRlbS5jcHA6CisgICAgICAgIChfV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRlOjp3ZWJraXRf
d2ViX2hpc3RvcnlfaXRlbV9maW5hbGl6ZSk6CisgICAgICAgIChfV2ViS2l0V2ViSGlzdG9yeUl0
ZW1Qcml2YXRlOjp3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9jbGFzc19pbml0KToKKyAgICAgICAg
KF9XZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGU6OndlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX25l
d193aXRoX2NvcmVfaXRlbSk6CisgICAgICAgIChfV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRl
Ojp3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9uZXcpOgorICAgICAgICAoX1dlYktpdFdlYkhpc3Rv
cnlJdGVtUHJpdmF0ZTo6d2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fbmV3X3dpdGhfZGF0YSk6Cisg
ICAgICAgIChfV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRlOjp3ZWJraXRfd2ViX2hpc3Rvcnlf
aXRlbV9nZXRfdGl0bGUpOgorICAgICAgICAoX1dlYktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZTo6
d2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fZ2V0X2FsdGVybmF0ZV90aXRsZSk6CisgICAgICAgIChf
V2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRlOjp3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9zZXRf
YWx0ZXJuYXRlX3RpdGxlKToKKyAgICAgICAgKF9XZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGU6
OndlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2dldF91cmkpOgorICAgICAgICAoX1dlYktpdFdlYkhp
c3RvcnlJdGVtUHJpdmF0ZTo6d2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fZ2V0X29yaWdpbmFsX3Vy
aSk6CisKIDIwMDgtMDgtMDIgIENocmlzdGlhbiBEeXdhbiAgPGNocmlzdGlhbkB0d290b2FzdHMu
ZGU+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBXZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5jcHAJKHJldmlzaW9uIDM1NTU3
KQorKysgV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViYmFja2ZvcndhcmRsaXN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTYzLDcgKzE2Myw3IEBAIEdMaXN0KiB3ZWJraXRfd2ViX2JhY2tfZm9y
d2FyZF9saXN0X2dldF8KICAgICBpZiAoIWJhY2tGb3J3YXJkTGlzdCB8fCAhYmFja0ZvcndhcmRM
aXN0LT5lbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgV2ViQ29yZTo6SGlz
dG9yeUl0ZW1WZWN0b3IgaXRlbXMobGltaXQpOworICAgIFdlYkNvcmU6Okhpc3RvcnlJdGVtVmVj
dG9yIGl0ZW1zOwogICAgIEdMaXN0KiBmb3J3YXJkSXRlbXMgPSB7IDAgfTsKIAogICAgIGJhY2tG
b3J3YXJkTGlzdC0+Zm9yd2FyZExpc3RXaXRoTGltaXQobGltaXQsIGl0ZW1zKTsKQEAgLTE5Myw3
ICsxOTMsNyBAQCBHTGlzdCogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfCiAgICAg
aWYgKCFiYWNrRm9yd2FyZExpc3QgfHwgIWJhY2tGb3J3YXJkTGlzdC0+ZW5hYmxlZCgpKQogICAg
ICAgICByZXR1cm4gTlVMTDsKIAotICAgIFdlYkNvcmU6Okhpc3RvcnlJdGVtVmVjdG9yIGl0ZW1z
KGxpbWl0KTsKKyAgICBXZWJDb3JlOjpIaXN0b3J5SXRlbVZlY3RvciBpdGVtczsKICAgICBHTGlz
dCogYmFja0l0ZW1zID0geyAwIH07CiAKICAgICBiYWNrRm9yd2FyZExpc3QtPmJhY2tMaXN0V2l0
aExpbWl0KGxpbWl0LCBpdGVtcyk7CkluZGV4OiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJo
aXN0b3J5aXRlbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vi
aGlzdG9yeWl0ZW0uY3BwCShyZXZpc2lvbiAzNTU1NykKKysrIFdlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYmhpc3RvcnlpdGVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsMTAgKzM2LDEwIEBA
IGV4dGVybiAiQyIgewogc3RydWN0IF9XZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGUgewogICAg
IFdURjo6UmVmUHRyPFdlYkNvcmU6Okhpc3RvcnlJdGVtPiBoaXN0b3J5SXRlbTsKIAotICAgIGdj
aGFyKiB0aXRsZTsKLSAgICBnY2hhciogYWx0ZXJuYXRlVGl0bGU7Ci0gICAgZ2NoYXIqIHVyaTsK
LSAgICBnY2hhciogb3JpZ2luYWxVcmk7CisgICAgV2ViQ29yZTo6Q1N0cmluZyB0aXRsZTsKKyAg
ICBXZWJDb3JlOjpDU3RyaW5nIGFsdGVybmF0ZVRpdGxlOworICAgIFdlYkNvcmU6OkNTdHJpbmcg
dXJpOworICAgIFdlYkNvcmU6OkNTdHJpbmcgb3JpZ2luYWxVcmk7CiB9OwogCiAjZGVmaW5lIFdF
QktJVF9XRUJfSElTVE9SWV9JVEVNX0dFVF9QUklWQVRFKG9iaikgICAgKEdfVFlQRV9JTlNUQU5D
RV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfV0VCX0hJU1RPUllfSVRFTSwgV2ViS2l0
V2ViSGlzdG9yeUl0ZW1Qcml2YXRlKSkKQEAgLTEwNSwxMCArMTA1LDEwIEBAIHN0YXRpYyB2b2lk
IHdlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2ZpbmEKICAgICBXZWJLaXRXZWJIaXN0b3J5SXRlbSog
d2ViSGlzdG9yeUl0ZW0gPSBXRUJLSVRfV0VCX0hJU1RPUllfSVRFTShvYmplY3QpOwogICAgIFdl
YktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZSogcHJpdiA9IHdlYkhpc3RvcnlJdGVtLT5wcml2Owog
Ci0gICAgZ19mcmVlKHByaXYtPnRpdGxlKTsKLSAgICBnX2ZyZWUocHJpdi0+YWx0ZXJuYXRlVGl0
bGUpOwotICAgIGdfZnJlZShwcml2LT51cmkpOwotICAgIGdfZnJlZShwcml2LT5vcmlnaW5hbFVy
aSk7CisgICAgcHJpdi0+dGl0bGUgPSBXZWJDb3JlOjpDU3RyaW5nKCk7CisgICAgcHJpdi0+YWx0
ZXJuYXRlVGl0bGUgPSBXZWJDb3JlOjpDU3RyaW5nKCk7CisgICAgcHJpdi0+dXJpID0gV2ViQ29y
ZTo6Q1N0cmluZygpOworICAgIHByaXYtPm9yaWdpbmFsVXJpID0gV2ViQ29yZTo6Q1N0cmluZygp
OwogCiAgICAgR19PQkpFQ1RfQ0xBU1Mod2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fcGFyZW50X2Ns
YXNzKS0+ZmluYWxpemUob2JqZWN0KTsKIH0KQEAgLTEyMiw4ICsxMjIsNiBAQCBzdGF0aWMgdm9p
ZCB3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9jbGFzCiAgICAgZ29iamVjdF9jbGFzcy0+c2V0X3By
b3BlcnR5ID0gd2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fc2V0X3Byb3BlcnR5OwogICAgIGdvYmpl
Y3RfY2xhc3MtPmdldF9wcm9wZXJ0eSA9IHdlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2dldF9wcm9w
ZXJ0eTsKIAotICAgIEdQYXJhbUZsYWdzIGZsYWdzID0gKEdQYXJhbUZsYWdzKShXRUJLSVRfUEFS
QU1fUkVBRFdSSVRFIHwgR19QQVJBTV9DT05TVFJVQ1QpOwotCiAgICAgLyoqCiAgICAgKiBXZWJL
aXRXZWJIaXN0b3J5SXRlbTp0aXRsZToKICAgICAqCkBAIC0xMzgsNyArMTM2LDcgQEAgc3RhdGlj
IHZvaWQgd2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fY2xhcwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIlRpdGxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJUaGUgdGl0bGUgb2YgdGhlIGhpc3RvcnkgaXRlbSIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR19QQVJBTV9SRUFEQUJMRSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICAvKioKICAgICAqIFdlYktpdFdlYkhp
c3RvcnlJdGVtOmFsdGVybmF0ZS10aXRsZToKQEAgLTE1NCw3ICsxNTIsNyBAQCBzdGF0aWMgdm9p
ZCB3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9jbGFzCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiQWx0ZXJuYXRlIFRpdGxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJUaGUgYWx0ZXJuYXRlIHRpdGxlIG9mIHRoZSBoaXN0b3J5IGl0ZW0iLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CiAKICAgICAvKioKICAgICAqIFdlYktp
dFdlYkhpc3RvcnlJdGVtOnVyaToKQEAgLTE3MCw3ICsxNjgsNyBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfd2ViX2hpc3RvcnlfaXRlbV9jbGFzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiVVJJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgVVJJ
IG9mIHRoZSBoaXN0b3J5IGl0ZW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfUEFSQU1fUkVB
REFCTEUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJB
TV9SRUFEQUJMRSkpOwogCiAgICAgLyoqCiAgICAgKiBXZWJLaXRXZWJIaXN0b3J5SXRlbTpvcmln
aW5hbC11cmk6CkBAIC0xODYsNyArMTg0LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9oaXN0
b3J5X2l0ZW1fY2xhcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9yaWdp
bmFsIFVSSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGhlIG9yaWdp
bmFsIFVSSSBvZiB0aGUgaGlzdG9yeSBpdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1BB
UkFNX1JFQURBQkxFKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJL
SVRfUEFSQU1fUkVBREFCTEUpKTsKIAogICAgLyoqCiAgICAgKiBXZWJLaXRXZWJIaXN0b3J5SXRl
bTpsYXN0LXZpc2l0ZWQtdGltZToKQEAgLTIwMiw3ICsyMDAsNyBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfd2ViX2hpc3RvcnlfaXRlbV9jbGFzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiTGFzdCB2aXNpdGVkIFRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIlRoZSB0aW1lIGF0IHdoaWNoIHRoZSBoaXN0b3J5IGl0ZW0gd2FzIGxhc3QgdmlzaXRl
ZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBHX01BWERPVUJMRSwg
MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfUEFSQU1fUkVBREFCTEUp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFE
QUJMRSkpOwogCiAgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlKGdvYmplY3RfY2xhc3MsIHNp
emVvZihXZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGUpKTsKIH0KQEAgLTI1Nyw5ICsyNTUsMTQg
QEAgV2ViS2l0V2ViSGlzdG9yeUl0ZW0qIHdlYmtpdF93ZWJfaGlzdG9yeQogewogICAgIFdlYktp
dFdlYkhpc3RvcnlJdGVtKiB3ZWJIaXN0b3J5SXRlbSA9IGtpdChpdGVtKTsKIAotICAgIGlmICgh
d2ViSGlzdG9yeUl0ZW0pIHsKKyAgICBpZiAod2ViSGlzdG9yeUl0ZW0pCisgICAgICAgIGdfb2Jq
ZWN0X3JlZih3ZWJIaXN0b3J5SXRlbSk7CisgICAgZWxzZSB7CiAgICAgICAgIHdlYkhpc3RvcnlJ
dGVtID0gV0VCS0lUX1dFQl9ISVNUT1JZX0lURU0oZ19vYmplY3RfbmV3KFdFQktJVF9UWVBFX1dF
Ql9ISVNUT1JZX0lURU0sIE5VTEwpKTsKLSAgICAgICAgd2Via2l0X2hpc3RvcnlfaXRlbV9hZGQo
d2ViSGlzdG9yeUl0ZW0sIGNvcmUod2ViSGlzdG9yeUl0ZW0pKTsKKyAgICAgICAgV2ViS2l0V2Vi
SGlzdG9yeUl0ZW1Qcml2YXRlKiBwcml2ID0gd2ViSGlzdG9yeUl0ZW0tPnByaXY7CisKKyAgICAg
ICAgcHJpdi0+aGlzdG9yeUl0ZW0gPSBpdGVtOworICAgICAgICB3ZWJraXRfaGlzdG9yeV9pdGVt
X2FkZCh3ZWJIaXN0b3J5SXRlbSwgcHJpdi0+aGlzdG9yeUl0ZW0uZ2V0KCkpOwogICAgIH0KIAog
ICAgIHJldHVybiB3ZWJIaXN0b3J5SXRlbTsKQEAgLTI3Myw3ICsyNzYsNyBAQCBXZWJLaXRXZWJI
aXN0b3J5SXRlbSogd2Via2l0X3dlYl9oaXN0b3J5CiAgKgogICogUmV0dXJuIHZhbHVlOiB0aGUg
bmV3ICNXZWJLaXRXZWJIaXN0b3J5SXRlbQogICovCi1XZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Vi
a2l0X3dlYl9oaXN0b3J5X2l0ZW1fbmV3KHZvaWQpCitXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Vi
a2l0X3dlYl9oaXN0b3J5X2l0ZW1fbmV3KCkKIHsKICAgICBXZWJLaXRXZWJIaXN0b3J5SXRlbSog
d2ViSGlzdG9yeUl0ZW0gPSBXRUJLSVRfV0VCX0hJU1RPUllfSVRFTShnX29iamVjdF9uZXcoV0VC
S0lUX1RZUEVfV0VCX0hJU1RPUllfSVRFTSwgTlVMTCkpOwogICAgIFdlYktpdFdlYkhpc3RvcnlJ
dGVtUHJpdmF0ZSogcHJpdiA9IHdlYkhpc3RvcnlJdGVtLT5wcml2OwpAQCAtMjk2LDcgKzI5OSw3
IEBAIFdlYktpdFdlYkhpc3RvcnlJdGVtKiB3ZWJraXRfd2ViX2hpc3RvcnkKIFdlYktpdFdlYkhp
c3RvcnlJdGVtKiB3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9uZXdfd2l0aF9kYXRhKGNvbnN0IGdj
aGFyKiB1cmksIGNvbnN0IGdjaGFyKiB0aXRsZSkKIHsKICAgICBXZWJDb3JlOjpLVVJMIGhpc3Rv
cnlVcmkodXJpKTsKLSAgICBXZWJDb3JlOjpTdHJpbmcgaGlzdG9yeVRpdGxlKHRpdGxlKTsKKyAg
ICBXZWJDb3JlOjpTdHJpbmcgaGlzdG9yeVRpdGxlID0gV2ViQ29yZTo6U3RyaW5nOjpmcm9tVVRG
OCh0aXRsZSk7CiAKICAgICBXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2ViSGlzdG9yeUl0ZW0gPSBX
RUJLSVRfV0VCX0hJU1RPUllfSVRFTShnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfV0VCX0hJU1RP
UllfSVRFTSwgTlVMTCkpOwogICAgIFdlYktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZSogcHJpdiA9
IHdlYkhpc3RvcnlJdGVtLT5wcml2OwpAQCAtMzIyLDExICszMjUsOSBAQCBHX0NPTlNUX1JFVFVS
TiBnY2hhciogd2Via2l0X3dlYl9oaXN0b3J5CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoaXRl
bSAhPSBOVUxMLCBOVUxMKTsKIAogICAgIFdlYktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZSogcHJp
diA9IHdlYkhpc3RvcnlJdGVtLT5wcml2OwotICAgIFdlYkNvcmU6OlN0cmluZyB0aXRsZSA9IGl0
ZW0tPnRpdGxlKCk7Ci0gICAgZ19mcmVlKHByaXYtPnRpdGxlKTsKLSAgICBwcml2LT50aXRsZSA9
IGdfc3RyZHVwKHRpdGxlLnV0ZjgoKS5kYXRhKCkpOworICAgIHByaXYtPnRpdGxlID0gaXRlbS0+
dGl0bGUoKS51dGY4KCk7CiAKLSAgICByZXR1cm4gcHJpdi0+dGl0bGU7CisgICAgcmV0dXJuIHBy
aXYtPnRpdGxlLmRhdGEoKTsKIH0KIAogLyoqCkBAIC0zNDYsMTEgKzM0Nyw5IEBAIEdfQ09OU1Rf
UkVUVVJOIGdjaGFyKiB3ZWJraXRfd2ViX2hpc3RvcnkKICAgICBnX3JldHVybl92YWxfaWZfZmFp
bChpdGVtICE9IE5VTEwsIE5VTEwpOwogCiAgICAgV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRl
KiBwcml2ID0gd2ViSGlzdG9yeUl0ZW0tPnByaXY7Ci0gICAgV2ViQ29yZTo6U3RyaW5nIGFsdGVy
bmF0ZVRpdGxlID0gaXRlbS0+YWx0ZXJuYXRlVGl0bGUoKTsKLSAgICBnX2ZyZWUocHJpdi0+YWx0
ZXJuYXRlVGl0bGUpOwotICAgIHByaXYtPmFsdGVybmF0ZVRpdGxlID0gZ19zdHJkdXAoYWx0ZXJu
YXRlVGl0bGUudXRmOCgpLmRhdGEoKSk7CisgICAgcHJpdi0+YWx0ZXJuYXRlVGl0bGUgPSBpdGVt
LT5hbHRlcm5hdGVUaXRsZSgpLnV0ZjgoKTsKIAotICAgIHJldHVybiBwcml2LT5hbHRlcm5hdGVU
aXRsZTsKKyAgICByZXR1cm4gcHJpdi0+YWx0ZXJuYXRlVGl0bGUuZGF0YSgpOwogfQogCiAvKioK
QEAgLTM2Myw2ICszNjIsNyBAQCBHX0NPTlNUX1JFVFVSTiBnY2hhciogd2Via2l0X3dlYl9oaXN0
b3J5CiB2b2lkIHdlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX3NldF9hbHRlcm5hdGVfdGl0bGUoV2Vi
S2l0V2ViSGlzdG9yeUl0ZW0qIHdlYkhpc3RvcnlJdGVtLCBjb25zdCBnY2hhciogdGl0bGUpCiB7
CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX0hJU1RPUllfSVRFTSh3ZWJIaXN0
b3J5SXRlbSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwodGl0bGUpOwogCiAgICAgV2ViQ29yZTo6
SGlzdG9yeUl0ZW0qIGl0ZW0gPSBjb3JlKHdlYkhpc3RvcnlJdGVtKTsKIApAQCAtMzg2LDEyICsz
ODYsMTAgQEAgR19DT05TVF9SRVRVUk4gZ2NoYXIqIHdlYmtpdF93ZWJfaGlzdG9yeQogCiAgICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwoaXRlbSAhPSBOVUxMLCBOVUxMKTsKIAotICAgIFdlYkNvcmU6
OlN0cmluZyB1cmkgPSBpdGVtLT51cmxTdHJpbmcoKTsKICAgICBXZWJLaXRXZWJIaXN0b3J5SXRl
bVByaXZhdGUqIHByaXYgPSB3ZWJIaXN0b3J5SXRlbS0+cHJpdjsKLSAgICBnX2ZyZWUocHJpdi0+
dXJpKTsKLSAgICBwcml2LT51cmkgPSBnX3N0cmR1cCh1cmkudXRmOCgpLmRhdGEoKSk7CisgICAg
cHJpdi0+dXJpID0gaXRlbS0+dXJsU3RyaW5nKCkudXRmOCgpOwogCi0gICAgcmV0dXJuIHByaXYt
PnVyaTsKKyAgICByZXR1cm4gcHJpdi0+dXJpLmRhdGEoKTsKIH0KIAogLyoqCkBAIC00MTAsMTIg
KzQwOCwxMCBAQCBHX0NPTlNUX1JFVFVSTiBnY2hhciogd2Via2l0X3dlYl9oaXN0b3J5CiAKICAg
ICBnX3JldHVybl92YWxfaWZfZmFpbChpdGVtICE9IE5VTEwsIE5VTEwpOwogCi0gICAgV2ViQ29y
ZTo6U3RyaW5nIG9yaWdpbmFsVXJpID0gaXRlbS0+b3JpZ2luYWxVUkxTdHJpbmcoKTsKICAgICBX
ZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGUqIHByaXYgPSB3ZWJIaXN0b3J5SXRlbS0+cHJpdjsK
LSAgICBnX2ZyZWUocHJpdi0+b3JpZ2luYWxVcmkpOwotICAgIHByaXYtPm9yaWdpbmFsVXJpID0g
Z19zdHJkdXAob3JpZ2luYWxVcmkudXRmOCgpLmRhdGEoKSk7CisgICAgcHJpdi0+b3JpZ2luYWxV
cmkgPSBpdGVtLT5vcmlnaW5hbFVSTFN0cmluZygpLnV0ZjgoKTsKIAotICAgIHJldHVybiB3ZWJI
aXN0b3J5SXRlbS0+cHJpdi0+b3JpZ2luYWxVcmk7CisgICAgcmV0dXJuIHdlYkhpc3RvcnlJdGVt
LT5wcml2LT5vcmlnaW5hbFVyaS5kYXRhKCk7CiB9CiAKIC8qKgo=
</data>
<flag name="review"
          id="10026"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>