diff options
author | Nikias Bassen | 2016-06-29 13:17:00 +0200 |
---|---|---|
committer | Nikias Bassen | 2016-06-29 13:17:00 +0200 |
commit | 16f45a04f8790f36e5af939bfd728ee410470e05 (patch) | |
tree | f92be6bb3f0663f21941bbc20407736879225fed /src/plist.h | |
parent | 02bd8acd41d1ed7891100fa0057981e98a0dbdad (diff) | |
download | libplist-16f45a04f8790f36e5af939bfd728ee410470e05.tar.gz libplist-16f45a04f8790f36e5af939bfd728ee410470e05.tar.bz2 |
xplist: Plug memory leak when converting PLIST_UID nodes to XML
In node_to_xml nodes of type PLIST_UID are temporarily converted
to a PLIST_DICT for an appropriate XML output. Therefore a PLIST_KEY
and a PLIST_UINT node is created and inserted into the PLIST_DICT
node. Upon completion, the child nodes of the PLIST_DICT node are
detached from the original node and freed, however the data of the
child nodes - the key string and the uint value - are not.
This commit fixes it.
Diffstat (limited to 'src/plist.h')
-rw-r--r-- | src/plist.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plist.h b/src/plist.h index 822144d..ad65dea 100644 --- a/src/plist.h +++ b/src/plist.h @@ -67,6 +67,7 @@ typedef struct plist_data_s *plist_data_t; plist_t plist_new_node(plist_data_t data); plist_data_t plist_get_data(const plist_t node); plist_data_t plist_new_plist_data(void); +void plist_free_data(plist_data_t data); int plist_data_compare(const void *a, const void *b); |