From fb4dd42edfe7fd6a20e19565f1b0e9e756bde685 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 17 Oct 2013 14:16:07 -0400 Subject: [PATCH 1/2] Fix a potential memory leak in menu/rmenu_xui.cpp in function rgui_init(). --- frontend/menu/rmenu_xui.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/frontend/menu/rmenu_xui.cpp b/frontend/menu/rmenu_xui.cpp index a38dfedc09..257f83efc8 100644 --- a/frontend/menu/rmenu_xui.cpp +++ b/frontend/menu/rmenu_xui.cpp @@ -1256,6 +1256,11 @@ static void* rgui_init (void) HRESULT hr; rgui_handle_t *rgui = (rgui_handle_t*)calloc(1, sizeof(*rgui)); + if (rgui == NULL) + { + RARCH_LOG("Could not allocate RGUI handle.\n"); + return NULL; + } xdk_d3d_video_t *device_ptr = (xdk_d3d_video_t*)driver.video_data; @@ -1281,6 +1286,7 @@ static void* rgui_init (void) if (hr != S_OK) { RARCH_ERR("Failed initializing XUI application.\n"); + free(rgui); return NULL; } @@ -1294,6 +1300,7 @@ static void* rgui_init (void) if (hr != S_OK) { RARCH_ERR("Failed to register default typeface.\n"); + free(rgui); return NULL; } @@ -1301,6 +1308,7 @@ static void* rgui_init (void) if (hr != S_OK) { RARCH_ERR("Failed to load skin.\n"); + free(rgui); return NULL; } @@ -1308,6 +1316,7 @@ static void* rgui_init (void) if (hr != S_OK) { RARCH_ERR("Failed to create scene 'rarch_main.xur'.\n"); + free(rgui); return NULL; } @@ -1316,6 +1325,7 @@ static void* rgui_init (void) if (hr != S_OK) { RARCH_ERR("XuiSceneNavigateFirst failed.\n"); + free(rgui); return NULL; } From a0eeea65d5c6523938510021fbb0e144185501f3 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 17 Oct 2013 14:18:30 -0400 Subject: [PATCH 2/2] Fix a typo in the previous commit. --- frontend/menu/rmenu_xui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/menu/rmenu_xui.cpp b/frontend/menu/rmenu_xui.cpp index 257f83efc8..9d67c6106f 100644 --- a/frontend/menu/rmenu_xui.cpp +++ b/frontend/menu/rmenu_xui.cpp @@ -1258,7 +1258,7 @@ static void* rgui_init (void) rgui_handle_t *rgui = (rgui_handle_t*)calloc(1, sizeof(*rgui)); if (rgui == NULL) { - RARCH_LOG("Could not allocate RGUI handle.\n"); + RARCH_ERR("Could not allocate RGUI handle.\n"); return NULL; }