Fix multiple memory leaks in xml_out(). Per report from Matt Magoffin.
This commit is contained in:
parent
e4aea74e19
commit
015f168f54
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/xml.c,v 1.68.2.3 2008/07/03 00:04:34 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/xml.c,v 1.68.2.4 2008/09/16 00:49:49 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -208,7 +208,6 @@ xml_out_internal(xmltype *x, pg_enc target_encoding)
|
||||
|
||||
#ifdef USE_LIBXML
|
||||
xmlChar *version;
|
||||
xmlChar *encoding;
|
||||
int standalone;
|
||||
int res_code;
|
||||
#endif
|
||||
@ -220,7 +219,7 @@ xml_out_internal(xmltype *x, pg_enc target_encoding)
|
||||
|
||||
#ifdef USE_LIBXML
|
||||
if ((res_code = parse_xml_decl((xmlChar *) str,
|
||||
&len, &version, &encoding, &standalone)) == 0)
|
||||
&len, &version, NULL, &standalone)) == 0)
|
||||
{
|
||||
StringInfoData buf;
|
||||
|
||||
@ -238,6 +237,10 @@ xml_out_internal(xmltype *x, pg_enc target_encoding)
|
||||
}
|
||||
appendStringInfoString(&buf, str + len);
|
||||
|
||||
if (version)
|
||||
xmlFree(version);
|
||||
pfree(str);
|
||||
|
||||
return buf.data;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user