Reformat the JSON string before allocating the test data structure so that we don't have to free it if the reformatting fails. Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- tests/qemumonitortestutils.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/tests/qemumonitortestutils.c b/tests/qemumonitortestutils.c index 4e99c4b54e..cfe78b258a 100644 --- a/tests/qemumonitortestutils.c +++ b/tests/qemumonitortestutils.c @@ -673,24 +673,21 @@ qemuMonitorTestAddItemVerbatim(qemuMonitorTest *test, const char *response) { struct qemuMonitorTestHandlerData *data; + char *reformatted = NULL; + + if (!(reformatted = virJSONStringReformat(command, false))) + return -1; data = g_new0(struct qemuMonitorTestHandlerData, 1); data->response = g_strdup(response); data->cmderr = g_strdup(cmderr); - - data->command_name = virJSONStringReformat(command, false); - if (!data->command_name) - goto error; + data->command_name = g_steal_pointer(&reformatted); return qemuMonitorTestAddHandler(test, command, qemuMonitorTestProcessCommandVerbatim, data, qemuMonitorTestHandlerDataFree); - - error: - qemuMonitorTestHandlerDataFree(data); - return -1; } -- 2.40.1