OBSRemoteProtocol: fix memory leak

This commit is contained in:
Stéphane Lepin 2021-02-03 04:16:04 +01:00
parent 10910aa06d
commit 87cd36673e
2 changed files with 4 additions and 5 deletions

View File

@ -53,7 +53,7 @@ std::string OBSRemoteProtocol::processMessage(WSRequestHandler& requestHandler,
RpcRequest request(messageId, methodName, params);
RpcResponse response = requestHandler.processRequest(request);
OBSData responseData = rpcResponseToJsonData(response);
OBSDataAutoRelease responseData = rpcResponseToJsonData(response);
return jsonDataToString(responseData);
}
@ -115,7 +115,7 @@ obs_data_t* OBSRemoteProtocol::errorResponse(const char* messageId, const char*
obs_data_t* OBSRemoteProtocol::buildResponse(const char* messageId, const char* status, obs_data_t* fields)
{
OBSDataAutoRelease response = obs_data_create();
obs_data_t* response = obs_data_create();
if (messageId) {
obs_data_set_string(response, "message-id", messageId);
}
@ -125,11 +125,10 @@ obs_data_t* OBSRemoteProtocol::buildResponse(const char* messageId, const char*
obs_data_apply(response, fields);
}
obs_data_addref(response);
return response;
}
std::string OBSRemoteProtocol::jsonDataToString(obs_data_t* data)
std::string OBSRemoteProtocol::jsonDataToString(OBSDataAutoRelease data)
{
std::string responseString = obs_data_get_json(data);
return responseString;

View File

@ -37,5 +37,5 @@ private:
static obs_data_t* successResponse(const char* messageId, obs_data_t* fields = nullptr);
static obs_data_t* errorResponse(const char* messageId, const char* errorMessage, obs_data_t* additionalFields = nullptr);
static obs_data_t* buildResponse(const char* messageId, const char*, obs_data_t* fields = nullptr);
static std::string jsonDataToString(obs_data_t* data);
static std::string jsonDataToString(OBSDataAutoRelease data);
};