From b70c39789ed221218cde899ddfe9945d13233b40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Wed, 29 Jan 2020 12:14:33 +0100 Subject: [PATCH 1/3] events(Heartbeat): fix memory leak --- src/WSEvents.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/WSEvents.cpp b/src/WSEvents.cpp index 4e978cc4..d7d04055 100644 --- a/src/WSEvents.cpp +++ b/src/WSEvents.cpp @@ -857,7 +857,9 @@ void WSEvents::Heartbeat() { pulse = !pulse; obs_data_set_bool(data, "pulse", pulse); - obs_data_set_string(data, "current-profile", obs_frontend_get_current_profile()); + char* currentProfile = obs_frontend_get_current_profile(); + obs_data_set_string(data, "current-profile", currentProfile); + bfree(currentProfile); OBSSourceAutoRelease currentScene = obs_frontend_get_current_scene(); obs_data_set_string(data, "current-scene", obs_source_get_name(currentScene)); From 915a7b6e1573fe3c9f9ed1c9651f6bda4fff29e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Wed, 29 Jan 2020 12:18:11 +0100 Subject: [PATCH 2/3] requests(GetCurrentProfile): fix memory leak --- src/WSRequestHandler_Profiles.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/WSRequestHandler_Profiles.cpp b/src/WSRequestHandler_Profiles.cpp index 4bcc7d4d..3b78d40b 100644 --- a/src/WSRequestHandler_Profiles.cpp +++ b/src/WSRequestHandler_Profiles.cpp @@ -39,7 +39,9 @@ HandlerResponse WSRequestHandler::HandleSetCurrentProfile(WSRequestHandler* req) */ HandlerResponse WSRequestHandler::HandleGetCurrentProfile(WSRequestHandler* req) { OBSDataAutoRelease response = obs_data_create(); - obs_data_set_string(response, "profile-name", obs_frontend_get_current_profile()); + char* currentProfile = obs_frontend_get_current_profile(); + obs_data_set_string(response, "profile-name", currentProfile); + bfree(currentProfile); return req->SendOKResponse(response); } From 8447395482c59aabd33f41c7c03dcd0103b6e610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Wed, 29 Jan 2020 12:20:23 +0100 Subject: [PATCH 3/3] requests(GetCurrentSceneCollection): fix memory leak --- src/WSRequestHandler_SceneCollections.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/WSRequestHandler_SceneCollections.cpp b/src/WSRequestHandler_SceneCollections.cpp index d4159321..ccc411a1 100644 --- a/src/WSRequestHandler_SceneCollections.cpp +++ b/src/WSRequestHandler_SceneCollections.cpp @@ -39,8 +39,10 @@ HandlerResponse WSRequestHandler::HandleSetCurrentSceneCollection(WSRequestHandl */ HandlerResponse WSRequestHandler::HandleGetCurrentSceneCollection(WSRequestHandler* req) { OBSDataAutoRelease response = obs_data_create(); - obs_data_set_string(response, "sc-name", - obs_frontend_get_current_scene_collection()); + + char* sceneCollection = obs_frontend_get_current_scene_collection(); + obs_data_set_string(response, "sc-name", sceneCollection); + bfree(sceneCollection); return req->SendOKResponse(response); }