diff --git a/src/bplist.c b/src/bplist.c index 5789f26148a4f5c8954da82dd21895da013e088f..91d55785ca568d3e33d8dbb924ccacea25d50910 100644 --- a/src/bplist.c +++ b/src/bplist.c @@ -251,6 +251,7 @@ static plist_t parse_real_node(char *bnode, uint8_t size) data->realval = *(double *) buf; break; default: + free(buf); free(data); return NULL; } diff --git a/src/xplist.c b/src/xplist.c index 96539a61a908797c6643435c8d73b71fe1b6c972..a889cb50733e45bfbd1f06b2dd89bb0556046394 100644 --- a/src/xplist.c +++ b/src/xplist.c @@ -120,9 +120,6 @@ static xmlDocPtr new_xml_plist(void) char *plist = strdup(plist_base); xmlDocPtr plist_xml = xmlParseMemory(plist, strlen(plist)); - if (!plist_xml) - return NULL; - free(plist); return plist_xml;