summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/xplist.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/xplist.c b/src/xplist.c
index 9825a28..e5ba214 100644
--- a/src/xplist.c
+++ b/src/xplist.c
@@ -840,6 +840,11 @@ static void node_from_xml(parse_ctx ctx, plist_t *plist)
840 if (!is_empty) { 840 if (!is_empty) {
841 /* only if not empty */ 841 /* only if not empty */
842 node_from_xml(ctx, &subnode); 842 node_from_xml(ctx, &subnode);
843 if (ctx->err) {
844 /* make sure to bail out if parsing failed */
845 free(keyname);
846 return;
847 }
843 if ((data->type == PLIST_DICT) && (plist_dict_get_size(subnode) == 1)) { 848 if ((data->type == PLIST_DICT) && (plist_dict_get_size(subnode) == 1)) {
844 /* convert XML CF$UID dictionaries to PLIST_UID nodes */ 849 /* convert XML CF$UID dictionaries to PLIST_UID nodes */
845 plist_t uid = plist_dict_get_item(subnode, "CF$UID"); 850 plist_t uid = plist_dict_get_item(subnode, "CF$UID");