diff --git a/core_info.c b/core_info.c index 01bd835dc7..252f6972da 100644 --- a/core_info.c +++ b/core_info.c @@ -305,7 +305,13 @@ static core_info_list_t *core_info_list_new(const char *path, return NULL; } - core_info = (core_info_t*)calloc(contents->size, sizeof(*core_info)); + core_info_list->list = NULL; + core_info_list->count = 0; + core_info_list->all_ext = NULL; + + core_info = (core_info_t*) + calloc(contents->size, sizeof(*core_info)); + if (!core_info) { core_info_list_free(core_info_list); @@ -315,7 +321,6 @@ static core_info_list_t *core_info_list_new(const char *path, core_info_list->list = core_info; core_info_list->count = contents->size; - core_info_list->all_ext = NULL; for (i = 0; i < contents->size; i++) { diff --git a/libretro-common/formats/xml/rxml.c b/libretro-common/formats/xml/rxml.c index 617b5f666a..4b8c26825d 100644 --- a/libretro-common/formats/xml/rxml.c +++ b/libretro-common/formats/xml/rxml.c @@ -142,10 +142,14 @@ rxml_document_t *rxml_load_document_string(const char *str) doc = (rxml_document_t*)malloc(sizeof(*doc)); if (!doc) goto error; + + doc->root_node = (struct rxml_node *)malloc( + sizeof(*doc->root_node)); doc->root_node->name = NULL; doc->root_node->data = NULL; doc->root_node->attrib = NULL; + doc->root_node->children = NULL; doc->root_node->next = NULL;