From 18a4c1029d10338552484cb0c2670c547b8a589b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Wed, 10 Jun 2015 14:48:33 -0300 Subject: [PATCH] (libretro-db) Fix query leaks --- libretro-db/libretrodb.c | 3 +++ libretro-db/query.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/libretro-db/libretrodb.c b/libretro-db/libretrodb.c index b3c2ed170f..4c6887b4f6 100644 --- a/libretro-db/libretrodb.c +++ b/libretro-db/libretrodb.c @@ -323,7 +323,10 @@ retry: if (cursor->query) { if (!libretrodb_query_filter(cursor->query, out)) + { + rmsgpack_dom_value_free(out); goto retry; + } } return 0; diff --git a/libretro-db/query.c b/libretro-db/query.c index 02bbaf1aca..72775e0223 100644 --- a/libretro-db/query.c +++ b/libretro-db/query.c @@ -886,6 +886,10 @@ void libretrodb_query_free(void *q) for (i = 0; i < real_q->root.argc; i++) argument_free(&real_q->root.argv[i]); + + free(real_q->root.argv); + real_q->root.argv = NULL; + free(real_q); } void *libretrodb_query_compile(libretrodb_t *db,