Fix for the memory leak Xpath Module
Rabi Narayan Sahoo <[email protected]> Tue, 29 Jan 2008 20:48:24 +0530
| Newsgroups | gmane.comp.gnome.gdome |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--===============1123508101==
Content-type: multipart/alternative;
boundary="Boundary_(ID_FtusBDlluSeU2bqLFs7qiw)"
This is a multi-part message in MIME format.
--Boundary_(ID_FtusBDlluSeU2bqLFs7qiw)
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Hi
For the memory leak problem in xpath module when the node returned by the
gdome_xpath_xpresult_singleNodeValue() is a Namespace
Declaration node
Solution- In the gdome_xml_n_unref we have add one more check for the
XML_NAMESPACE_DECL node like in mkref() and then call the
gdome_xml_xpns_unref(). In side the gdome_xml_xpns_unref()when the
refcnt becomes 0 we have to free the corresponding xmlNode
object stored in the "n" field of the Gdome_xml_XPathNamespace
object before freeing it.
The fix is given below
gdome-xml-node.c Wed Jan 23 16:35:34 2008
gdome_xml_n_unref (GdomeNode *self, GdomeException *exc)
275a276,278
> case XML_NAMESPACE_DECL:
> gdome_xml_xpns_unref(self,exc);
> return;
gdome-xml-xpns.c Wed Jan 23 16:29:34 2008
in the function gdome_xml_xpns_unref (GdomeNode *self, GdomeException *exc)
--- 111,121 ----
if (priv->refcnt > 0)
priv->refcnt--;
! if (priv->refcnt == 0)
! {
! gdome_xmlFreeNode (priv->n);
g_free (self);
! }
}
Thanks & Regards
Rabi
--Boundary_(ID_FtusBDlluSeU2bqLFs7qiw)
Content-type: text/html; charset=us-ascii
Content-transfer-encoding: 7BIT
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:SimHei;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"\@SimSun";
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:KaiTi_GB2312;}
@font-face
{font-family:"\@KaiTi_GB2312";}
@font-face
{font-family:"\@SimHei";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:10.0pt;
margin-bottom:.0001pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:0in;
mso-para-margin-left:2.0gd;
mso-para-margin-bottom:.0001pt;
line-height:150%;
text-autospace:none;
font-size:10.5pt;
font-family:"Times New Roman";}
h1
{margin-top:12.0pt;
margin-right:0in;
margin-bottom:12.0pt;
margin-left:21.55pt;
text-align:justify;
text-indent:-21.55pt;
page-break-after:avoid;
mso-list:l10 level1 lfo35;
font-size:16.0pt;
font-family:Arial;}
h2
{margin-top:12.0pt;
margin-right:0in;
margin-bottom:12.0pt;
margin-left:.4in;
text-align:justify;
text-indent:-.4in;
page-break-after:avoid;
mso-list:l10 level2 lfo35;
font-size:12.0pt;
font-family:Arial;
font-weight:normal;}
h3
{margin-top:13.0pt;
margin-right:0in;
margin-bottom:13.0pt;
margin-left:.5in;
mso-para-margin-top:13.0pt;
mso-para-margin-right:0in;
mso-para-margin-bottom:13.0pt;
mso-para-margin-left:2.0gd;
text-align:justify;
text-indent:-.5in;
line-height:173%;
page-break-after:avoid;
mso-list:l10 level3 lfo35;
font-size:12.0pt;
font-family:Arial;
font-weight:normal;}
p.MsoHeader, li.MsoHeader, div.MsoHeader
{margin:0in;
margin-bottom:.0001pt;
text-align:justify;
layout-grid-mode:char;
font-size:9.0pt;
font-family:Arial;}
p.MsoFooter, li.MsoFooter, div.MsoFooter
{margin:0in;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:Arial;}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
p.Table, li.Table, div.Table
{margin-top:5.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:0in;
margin-bottom:.0001pt;
mso-para-margin-top:1.0gd;
mso-para-margin-right:0in;
mso-para-margin-bottom:0in;
mso-para-margin-left:0in;
mso-para-margin-bottom:.0001pt;
text-align:center;
text-indent:0in;
mso-list:l7 level9 lfo5;
font-size:9.0pt;
font-family:Arial;}
p.TableText, li.TableText, div.TableText
{margin:0in;
margin-bottom:.0001pt;
font-size:10.5pt;
font-family:Arial;}
p.TableHeader, li.TableHeader, div.TableHeader
{margin:0in;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:Arial;
font-weight:bold;}
p.FigureStyle, li.FigureStyle, div.FigureStyle
{margin-top:4.0pt;
margin-right:0in;
margin-bottom:4.0pt;
margin-left:0in;
text-align:center;
line-height:150%;
page-break-after:avoid;
text-autospace:none;
font-size:10.5pt;
font-family:"Times New Roman";}
p.DocumentTitle, li.DocumentTitle, div.DocumentTitle
{margin-top:15.0pt;
margin-right:0in;
margin-bottom:15.0pt;
margin-left:0in;
text-align:center;
line-height:150%;
text-autospace:none;
font-size:18.0pt;
font-family:Arial;}
p.NotesHeader, li.NotesHeader, div.NotesHeader
{margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:10.0pt;
margin-bottom:.0001pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:0in;
mso-para-margin-left:2.0gd;
mso-para-margin-bottom:.0001pt;
text-align:justify;
line-height:150%;
text-autospace:none;
border:none;
padding:0in;
font-size:9.0pt;
font-family:Arial;}
p.NotesText, li.NotesText, div.NotesText
{margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:10.0pt;
margin-bottom:.0001pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:0in;
mso-para-margin-left:2.0gd;
mso-para-margin-bottom:.0001pt;
text-align:justify;
text-indent:.25in;
line-height:150%;
text-autospace:none;
border:none;
padding:0in;
font-size:9.0pt;
font-family:Arial;}
p.CompilingAdvice, li.CompilingAdvice, div.CompilingAdvice
{margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:10.0pt;
margin-bottom:.0001pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:0in;
mso-para-margin-left:2.0gd;
mso-para-margin-bottom:.0001pt;
line-height:150%;
text-autospace:none;
font-size:10.5pt;
font-family:Arial;
color:blue;
font-style:italic;}
span.EmailStyle28
{mso-style-type:personal-compose;
font-family:Arial;
color:windowtext;}
p.Figure, li.Figure, div.Figure
{margin:0in;
margin-bottom:.0001pt;
text-align:center;
text-indent:0in;
line-height:150%;
mso-list:l7 level8 lfo5;
text-autospace:none;
font-size:10.5pt;
font-family:"Times New Roman";}
/* Page Definitions */
@page
{mso-endnote-separator:url("cid:header.htm\@01C862B8.40134B90") es;
mso-endnote-continuation-separator:url("cid:header.htm\@01C862B8.40134B90") ecs;}
@page Section1
{size:595.3pt 841.9pt;
margin:1.0in 1.25in 1.0in 1.25in;
mso-footer:url("cid:header.htm\@01C862B8.40134B90") f1;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
/* List Definitions */
@list l0
{mso-list-id:171800355;
mso-list-template-ids:-1278163850;}
@list l0:level1
{mso-level-text:%1;
mso-level-tab-stop:.3in;
mso-level-number-position:left;
margin-left:.3in;
text-indent:-.3in;}
@list l0:level2
{mso-level-text:"%1\.%2";
mso-level-tab-stop:.4in;
mso-level-number-position:left;
margin-left:.4in;
text-indent:-.4in;}
@list l0:level3
{mso-level-text:"%1\.%2\.%3";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
margin-left:.5in;
text-indent:-.5in;}
@list l0:level4
{mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l0:level5
{mso-level-text:%5\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l0:level6
{mso-level-number-format:alpha-lower;
mso-level-text:%6\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l0:level7
{mso-level-number-format:roman-lower;
mso-level-text:%7;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l0:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
margin-left:1.0in;
text-indent:-1.0in;}
@list l0:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:1.1in;
mso-level-number-position:left;
margin-left:1.1in;
text-indent:-1.1in;}
@list l1
{mso-list-id:191647984;
mso-list-template-ids:345692754;}
@list l1:level1
{mso-level-number-format:alpha-upper;
mso-level-text:\9644\5F55%1;
mso-level-tab-stop:64.15pt;
mso-level-number-position:left;
margin-left:64.15pt;
text-indent:-.3in;}
@list l1:level2
{mso-level-text:"%1\.%2";
mso-level-tab-stop:71.35pt;
mso-level-number-position:left;
margin-left:71.35pt;
text-indent:-.4in;}
@list l1:level3
{mso-level-text:"%1\.%2\.%3";
mso-level-tab-stop:78.55pt;
mso-level-number-position:left;
margin-left:78.55pt;
text-indent:-.5in;}
@list l1:level4
{mso-level-tab-stop:70.9pt;
mso-level-number-position:left;
margin-left:89.35pt;
text-indent:-34.0pt;}
@list l1:level5
{mso-level-text:%5\FF09;
mso-level-tab-stop:70.9pt;
mso-level-number-position:left;
margin-left:89.35pt;
text-indent:-34.0pt;}
@list l1:level6
{mso-level-number-format:alpha-lower;
mso-level-text:%6\FF09;
mso-level-tab-stop:70.9pt;
mso-level-number-position:left;
margin-left:89.35pt;
text-indent:-34.0pt;}
@list l1:level7
{mso-level-number-format:roman-lower;
mso-level-text:%7;
mso-level-tab-stop:70.9pt;
mso-level-number-position:left;
margin-left:89.35pt;
text-indent:-34.0pt;}
@list l1:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:114.55pt;
mso-level-number-position:left;
margin-left:114.55pt;
text-indent:-1.0in;}
@list l1:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:121.75pt;
mso-level-number-position:left;
margin-left:121.75pt;
text-indent:-1.1in;}
@list l2
{mso-list-id:541409008;
mso-list-template-ids:-249166292;}
@list l2:level1
{mso-level-number-format:alpha-upper;
mso-level-text:\9644\5F55%1;
mso-level-tab-stop:.3in;
mso-level-number-position:left;
margin-left:.3in;
text-indent:-.3in;}
@list l2:level2
{mso-level-text:"%1\.%2";
mso-level-tab-stop:.4in;
mso-level-number-position:left;
margin-left:.4in;
text-indent:-.4in;}
@list l2:level3
{mso-level-text:"%1\.%2\.%3";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
margin-left:.5in;
text-indent:-.5in;}
@list l2:level4
{mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l2:level5
{mso-level-text:%5\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l2:level6
{mso-level-number-format:alpha-lower;
mso-level-text:%6\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l2:level7
{mso-level-number-format:roman-lower;
mso-level-text:%7;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l2:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
margin-left:1.0in;
text-indent:-1.0in;}
@list l2:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:1.1in;
mso-level-number-position:left;
margin-left:1.1in;
text-indent:-1.1in;}
@list l3
{mso-list-id:731736200;
mso-list-template-ids:67698717;}
@list l3:level1
{mso-level-text:%1;
mso-level-tab-stop:21.25pt;
mso-level-number-position:left;
margin-left:21.25pt;
text-indent:-21.25pt;}
@list l3:level2
{mso-level-text:"%1\.%2";
mso-level-tab-stop:57.25pt;
mso-level-number-position:left;
margin-left:49.6pt;
text-indent:-28.35pt;}
@list l3:level3
{mso-level-text:"%1\.%2\.%3";
mso-level-tab-stop:96.55pt;
mso-level-number-position:left;
margin-left:70.9pt;
text-indent:-28.35pt;}
@list l3:level4
{mso-level-text:"%1\.%2\.%3\.%4";
mso-level-tab-stop:153.8pt;
mso-level-number-position:left;
margin-left:99.2pt;
text-indent:-35.4pt;}
@list l3:level5
{mso-level-text:"%1\.%2\.%3\.%4\.%5";
mso-level-tab-stop:193.05pt;
mso-level-number-position:left;
margin-left:127.55pt;
text-indent:-42.5pt;}
@list l3:level6
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
mso-level-tab-stop:232.3pt;
mso-level-number-position:left;
margin-left:163.0pt;
text-indent:-56.7pt;}
@list l3:level7
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";
mso-level-tab-stop:271.55pt;
mso-level-number-position:left;
margin-left:191.35pt;
text-indent:-63.8pt;}
@list l3:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:310.8pt;
mso-level-number-position:left;
margin-left:219.7pt;
text-indent:-70.9pt;}
@list l3:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:350.1pt;
mso-level-number-position:left;
margin-left:255.1pt;
text-indent:-85.0pt;}
@list l4
{mso-list-id:818422186;
mso-list-template-ids:1344984950;}
@list l4:level1
{mso-level-text:%1;
mso-level-tab-stop:.3in;
mso-level-number-position:left;
margin-left:.3in;
text-indent:-.3in;}
@list l4:level2
{mso-level-text:"%1\.%2";
mso-level-tab-stop:.4in;
mso-level-number-position:left;
margin-left:.4in;
text-indent:-.4in;}
@list l4:level3
{mso-level-text:"%1\.%2\.%3";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
margin-left:.5in;
text-indent:-.5in;}
@list l4:level4
{mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l4:level5
{mso-level-text:%5\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l4:level6
{mso-level-number-format:alpha-lower;
mso-level-text:%6\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l4:level7
{mso-level-number-format:roman-lower;
mso-level-text:%7;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l4:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
margin-left:1.0in;
text-indent:-1.0in;}
@list l4:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:1.1in;
mso-level-number-position:left;
margin-left:1.1in;
text-indent:-1.1in;}
@list l5
{mso-list-id:838886720;
mso-list-template-ids:-819953982;}
@list l5:level1
{mso-level-text:%1;
mso-level-tab-stop:.3in;
mso-level-number-position:left;
margin-left:.3in;
text-indent:-.3in;
mso-ansi-font-size:18.0pt;
mso-bidi-font-size:18.0pt;
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l5:level2
{mso-level-text:"%1\.%2";
mso-level-tab-stop:.4in;
mso-level-number-position:left;
margin-left:.4in;
text-indent:-.4in;
mso-ansi-font-size:15.0pt;
mso-bidi-font-size:15.0pt;
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l5:level3
{mso-level-text:"%1\.%2\.%3";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
margin-left:.5in;
text-indent:-.5in;
mso-ansi-font-size:12.0pt;
mso-bidi-font-size:12.0pt;
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l5:level4
{mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;
mso-ansi-font-size:10.5pt;
mso-bidi-font-size:10.5pt;
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l5:level5
{mso-level-text:%5\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;
mso-ansi-font-size:10.5pt;
mso-bidi-font-size:10.5pt;
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l5:level6
{mso-level-number-format:alpha-lower;
mso-level-text:%6\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;
mso-ansi-font-size:10.5pt;
mso-bidi-font-size:10.5pt;
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l5:level7
{mso-level-number-format:roman-lower;
mso-level-text:%7;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;
mso-ansi-font-size:10.5pt;
mso-bidi-font-size:10.5pt;
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l5:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
margin-left:1.0in;
text-indent:-1.0in;
mso-ansi-font-size:9.0pt;
mso-bidi-font-size:9.0pt;
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l5:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:1.1in;
mso-level-number-position:left;
margin-left:1.1in;
text-indent:-1.1in;
mso-ansi-font-size:9.0pt;
mso-bidi-font-size:9.0pt;
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l6
{mso-list-id:942373150;
mso-list-template-ids:67698717;}
@list l6:level1
{mso-level-text:%1;
mso-level-tab-stop:21.25pt;
mso-level-number-position:left;
margin-left:21.25pt;
text-indent:-21.25pt;}
@list l6:level2
{mso-level-text:"%1\.%2";
mso-level-tab-stop:57.25pt;
mso-level-number-position:left;
margin-left:49.6pt;
text-indent:-28.35pt;}
@list l6:level3
{mso-level-text:"%1\.%2\.%3";
mso-level-tab-stop:96.55pt;
mso-level-number-position:left;
margin-left:70.9pt;
text-indent:-28.35pt;}
@list l6:level4
{mso-level-text:"%1\.%2\.%3\.%4";
mso-level-tab-stop:135.8pt;
mso-level-number-position:left;
margin-left:99.2pt;
text-indent:-35.4pt;}
@list l6:level5
{mso-level-text:"%1\.%2\.%3\.%4\.%5";
mso-level-tab-stop:175.05pt;
mso-level-number-position:left;
margin-left:127.55pt;
text-indent:-42.5pt;}
@list l6:level6
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
mso-level-tab-stop:214.3pt;
mso-level-number-position:left;
margin-left:163.0pt;
text-indent:-56.7pt;}
@list l6:level7
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";
mso-level-tab-stop:253.55pt;
mso-level-number-position:left;
margin-left:191.35pt;
text-indent:-63.8pt;}
@list l6:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:292.8pt;
mso-level-number-position:left;
margin-left:219.7pt;
text-indent:-70.9pt;}
@list l6:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:332.1pt;
mso-level-number-position:left;
margin-left:255.1pt;
text-indent:-85.0pt;}
@list l7
{mso-list-id:1123964682;
mso-list-template-ids:548200814;}
@list l7:level1
{mso-level-suffix:none;
mso-level-text:"%1 ";
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:0in;
mso-ansi-font-size:18.0pt;
mso-bidi-font-size:18.0pt;
font-family:Arial;
mso-fareast-font-family:SimHei;
mso-bidi-font-family:"Times New Roman";
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l7:level2
{mso-level-suffix:none;
mso-level-text:"%1\.%2 ";
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:.5in;
text-indent:0in;
mso-ansi-font-size:15.0pt;
mso-bidi-font-size:15.0pt;
font-family:Arial;
mso-bidi-font-family:"Times New Roman";
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l7:level3
{mso-level-suffix:none;
mso-level-text:"%1\.%2\.%3 ";
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:.5in;
text-indent:0in;
mso-ansi-font-size:12.0pt;
mso-bidi-font-size:12.0pt;
font-family:Arial;
mso-bidi-font-family:"Times New Roman";
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l7:level4
{mso-level-suffix:none;
mso-level-text:"%1\.%2\.%3\.%4 ";
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:.5in;
text-indent:0in;
mso-ansi-font-size:10.5pt;
mso-bidi-font-size:10.5pt;
font-family:Arial;
mso-bidi-font-family:"Times New Roman";
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l7:level5
{mso-level-tab-stop:92.7pt;
mso-level-number-position:left;
margin-left:92.7pt;
text-indent:-15.6pt;
mso-ansi-font-size:10.5pt;
mso-bidi-font-size:10.5pt;
font-family:Arial;
mso-bidi-font-family:"Times New Roman";
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l7:level6
{mso-level-text:"%6\)";
mso-level-tab-stop:92.7pt;
mso-level-number-position:left;
margin-left:92.7pt;
text-indent:-15.6pt;
mso-ansi-font-size:10.5pt;
mso-bidi-font-size:10.5pt;
font-family:Arial;
mso-bidi-font-family:"Times New Roman";
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l7:level7
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:92.7pt;
mso-level-number-position:left;
margin-left:92.7pt;
text-indent:-15.6pt;
mso-ansi-font-size:10.5pt;
mso-bidi-font-size:10.5pt;
font-family:Arial;
mso-bidi-font-family:"Times New Roman";
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l7:level8
{mso-level-reset-level:level1;
mso-level-style-link:Figure;
mso-level-suffix:space;
mso-level-text:Figure%8;
mso-level-tab-stop:none;
mso-level-number-position:center;
margin-left:.5in;
text-indent:0in;
mso-ansi-font-size:9.0pt;
mso-bidi-font-size:9.0pt;
font-family:Arial;
mso-fareast-font-family:SimHei;
mso-bidi-font-family:"Times New Roman";
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l7:level9
{mso-level-reset-level:level1;
mso-level-style-link:Table;
mso-level-suffix:space;
mso-level-text:Table%9;
mso-level-tab-stop:none;
mso-level-number-position:center;
margin-left:.5in;
text-indent:0in;
mso-ansi-font-size:9.0pt;
mso-bidi-font-size:9.0pt;
font-family:Arial;
mso-fareast-font-family:SimHei;
mso-bidi-font-family:"Times New Roman";
mso-ansi-font-weight:normal;
mso-ansi-font-style:normal;}
@list l8
{mso-list-id:1380013528;
mso-list-template-ids:-1435872280;}
@list l8:level1
{mso-level-number-format:none;
mso-level-text:"\9644\5F55A ";
mso-level-tab-stop:21.25pt;
mso-level-number-position:left;
margin-left:21.25pt;
text-indent:-21.25pt;}
@list l8:level2
{mso-level-text:"A\.%2";
mso-level-tab-stop:49.6pt;
mso-level-number-position:left;
margin-left:49.6pt;
text-indent:-28.35pt;}
@list l8:level3
{mso-level-text:"%1\.%2\.%3";
mso-level-tab-stop:70.9pt;
mso-level-number-position:left;
margin-left:70.9pt;
text-indent:-28.35pt;}
@list l8:level4
{mso-level-text:"%1\.%2\.%3\.%4";
mso-level-tab-stop:99.2pt;
mso-level-number-position:left;
margin-left:99.2pt;
text-indent:-35.4pt;}
@list l8:level5
{mso-level-text:"%1\.%2\.%3\.%4\.%5";
mso-level-tab-stop:127.55pt;
mso-level-number-position:left;
margin-left:127.55pt;
text-indent:-42.5pt;}
@list l8:level6
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
mso-level-tab-stop:163.0pt;
mso-level-number-position:left;
margin-left:163.0pt;
text-indent:-56.7pt;}
@list l8:level7
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";
mso-level-tab-stop:191.35pt;
mso-level-number-position:left;
margin-left:191.35pt;
text-indent:-63.8pt;}
@list l8:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:219.7pt;
mso-level-number-position:left;
margin-left:219.7pt;
text-indent:-70.9pt;}
@list l8:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:255.1pt;
mso-level-number-position:left;
margin-left:255.1pt;
text-indent:-85.0pt;}
@list l9
{mso-list-id:1425803385;
mso-list-template-ids:67698717;}
@list l9:level1
{mso-level-text:%1;
mso-level-tab-stop:21.25pt;
mso-level-number-position:left;
margin-left:21.25pt;
text-indent:-21.25pt;}
@list l9:level2
{mso-level-text:"%1\.%2";
mso-level-tab-stop:57.25pt;
mso-level-number-position:left;
margin-left:49.6pt;
text-indent:-28.35pt;}
@list l9:level3
{mso-level-text:"%1\.%2\.%3";
mso-level-tab-stop:96.55pt;
mso-level-number-position:left;
margin-left:70.9pt;
text-indent:-28.35pt;}
@list l9:level4
{mso-level-text:"%1\.%2\.%3\.%4";
mso-level-tab-stop:153.8pt;
mso-level-number-position:left;
margin-left:99.2pt;
text-indent:-35.4pt;}
@list l9:level5
{mso-level-text:"%1\.%2\.%3\.%4\.%5";
mso-level-tab-stop:193.05pt;
mso-level-number-position:left;
margin-left:127.55pt;
text-indent:-42.5pt;}
@list l9:level6
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
mso-level-tab-stop:232.3pt;
mso-level-number-position:left;
margin-left:163.0pt;
text-indent:-56.7pt;}
@list l9:level7
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";
mso-level-tab-stop:271.55pt;
mso-level-number-position:left;
margin-left:191.35pt;
text-indent:-63.8pt;}
@list l9:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:310.8pt;
mso-level-number-position:left;
margin-left:219.7pt;
text-indent:-70.9pt;}
@list l9:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:350.1pt;
mso-level-number-position:left;
margin-left:255.1pt;
text-indent:-85.0pt;}
@list l10
{mso-list-id:1666475049;
mso-list-template-ids:-28945502;}
@list l10:level1
{mso-level-style-link:"Heading 1";
mso-level-text:%1;
mso-level-tab-stop:.3in;
mso-level-number-position:left;
margin-left:.3in;
text-indent:-.3in;}
@list l10:level2
{mso-level-style-link:"Heading 2";
mso-level-text:"%1\.%2";
mso-level-tab-stop:.4in;
mso-level-number-position:left;
margin-left:.4in;
text-indent:-.4in;}
@list l10:level3
{mso-level-style-link:"Heading 3";
mso-level-text:"%1\.%2\.%3";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
margin-left:.5in;
text-indent:-.5in;}
@list l10:level4
{mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l10:level5
{mso-level-text:%5\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l10:level6
{mso-level-number-format:alpha-lower;
mso-level-text:%6\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l10:level7
{mso-level-number-format:roman-lower;
mso-level-text:%7;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l10:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
margin-left:1.0in;
text-indent:-1.0in;}
@list l10:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:1.1in;
mso-level-number-position:left;
margin-left:1.1in;
text-indent:-1.1in;}
@list l11
{mso-list-id:1916042858;
mso-list-template-ids:-648263936;}
@list l11:level1
{mso-level-number-format:alpha-upper;
mso-level-text:\9644\5F55%1;
mso-level-tab-stop:.3in;
mso-level-number-position:left;
margin-left:.3in;
text-indent:-.3in;}
@list l11:level2
{mso-level-text:"%1\.%2";
mso-level-tab-stop:.4in;
mso-level-number-position:left;
margin-left:.4in;
text-indent:-.4in;}
@list l11:level3
{mso-level-text:"%1\.%2\.%3";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
margin-left:.5in;
text-indent:-.5in;}
@list l11:level4
{mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l11:level5
{mso-level-text:%5\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l11:level6
{mso-level-number-format:alpha-lower;
mso-level-text:%6\FF09;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l11:level7
{mso-level-number-format:roman-lower;
mso-level-text:%7;
mso-level-tab-stop:28.35pt;
mso-level-number-position:left;
margin-left:.65in;
text-indent:-34.0pt;}
@list l11:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
margin-left:1.0in;
text-indent:-1.0in;}
@list l11:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:1.1in;
mso-level-number-position:left;
margin-left:1.1in;
text-indent:-1.1in;}
@list l12
{mso-list-id:2114861838;
mso-list-template-ids:-433129230;}
@list l12:level1
{mso-level-number-format:none;
mso-level-text:"\9644\5F55A ";
mso-level-tab-stop:21.25pt;
mso-level-number-position:left;
margin-left:21.25pt;
text-indent:-21.25pt;}
@list l12:level2
{mso-level-text:"A\.%2";
mso-level-tab-stop:49.6pt;
mso-level-number-position:left;
margin-left:49.6pt;
text-indent:-28.35pt;}
@list l12:level3
{mso-level-text:"%1A\.%2\.%3";
mso-level-tab-stop:70.9pt;
mso-level-number-position:left;
margin-left:70.9pt;
text-indent:-28.35pt;}
@list l12:level4
{mso-level-text:"%1\.%2\.%3\.%4";
mso-level-tab-stop:99.2pt;
mso-level-number-position:left;
margin-left:99.2pt;
text-indent:-35.4pt;}
@list l12:level5
{mso-level-text:"%1\.%2\.%3\.%4\.%5";
mso-level-tab-stop:127.55pt;
mso-level-number-position:left;
margin-left:127.55pt;
text-indent:-42.5pt;}
@list l12:level6
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
mso-level-tab-stop:163.0pt;
mso-level-number-position:left;
margin-left:163.0pt;
text-indent:-56.7pt;}
@list l12:level7
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";
mso-level-tab-stop:191.35pt;
mso-level-number-position:left;
margin-left:191.35pt;
text-indent:-63.8pt;}
@list l12:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:219.7pt;
mso-level-number-position:left;
margin-left:219.7pt;
text-indent:-70.9pt;}
@list l12:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:255.1pt;
mso-level-number-position:left;
margin-left:255.1pt;
text-indent:-85.0pt;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="3074" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="2" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple style='text-justify-trim:punctuation'>
<div class=Section1 style='layout-grid:15.6pt'>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>Hi<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>For the memory leak problem in xpath module when the node returned by
the gdome_xpath_xpresult_singleNodeValue() is a Namespace <o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>Declaration node<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>Solution- In the gdome_xml_n_unref we have add one more check for the
XML_NAMESPACE_DECL node like in mkref() and then call the<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'> gdome_xml_xpns_unref(). In
side the gdome_xml_xpns_unref()when the refcnt becomes 0 we have to free the
corresponding xmlNode<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'> object stored in the
"n" field of the Gdome_xml_XPathNamespace object before freeing it.<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>The fix is given below<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>gdome-xml-node.c Wed Jan 23 16:35:34 2008<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>gdome_xml_n_unref (GdomeNode *self, GdomeException *exc)<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>275a276,278<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>> case XML_NAMESPACE_DECL:<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>> gdome_xml_xpns_unref(self,exc);<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>> return;<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'> gdome-xml-xpns.c Wed Jan 23 16:29:34 2008<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'> in the function gdome_xml_xpns_unref (GdomeNode *self,
GdomeException *exc)<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'> --- 111,121 ----<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'> if (priv->refcnt > 0)<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'> priv->refcnt--;<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>! if (priv->refcnt == 0)<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>! {<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>! gdome_xmlFreeNode (priv->n);<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'> g_free (self);<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'>! }<o:p></o:p></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt;layout-grid-mode:char'><font
size=2 face=Arial><span style='font-size:10.0pt;line-height:150%;font-family:
Arial'> }<strong><b><font face=Arial><span style='font-family:Arial;
font-weight:normal'><o:p></o:p></span></font></b></strong></span></font></p>
<p class=MsoNormal style='margin-left:21.0pt'><strong><b><font size=2
color=blue face=Arial><span style='font-size:10.0pt;line-height:150%;
font-family:Arial;color:blue'>Thanks & Regards<o:p></o:p></span></font></b></strong></p>
<p class=MsoNormal style='margin-left:21.0pt'><strong><b><font size=2
color=blue face=Arial><span style='font-size:10.0pt;line-height:150%;
font-family:Arial;color:blue'> Rabi</span></font></b></strong><b><font
size=2 color=blue face=Arial><span style='font-size:10.0pt;line-height:150%;
font-family:Arial;color:blue;font-weight:bold'><o:p></o:p></span></font></b></p>
</div>
</body>
</html>
--Boundary_(ID_FtusBDlluSeU2bqLFs7qiw)--
--===============1123508101==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
gdome mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gdome
--===============1123508101==--