From cbd3d06541dec59d3f9d58bf04182f4dd554eae6 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Tue, 15 Dec 2015 11:04:49 +0100 Subject: [PATCH] qemuMonitorJSONEjectMedia: don't stringify the replay at all Commit 256496e1 introduced a detection if "is locked" in error replay from qemu monitor. Commit c4073657 fixed a memory leak, but it was pointed out by Peter, that this could be done cleaner without stringifing the replay. Signed-off-by: Pavel Hrdina --- src/qemu/qemu_monitor_json.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 4ae63cf7c4..d4b6514420 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -2223,11 +2223,12 @@ int qemuMonitorJSONEjectMedia(qemuMonitorPtr mon, ret = qemuMonitorJSONCheckError(cmd, reply); if (ret < 0) { - char *replyStr = virJSONValueToString(reply, false); - - if (c_strcasestr(replyStr, "is locked")) - ret = -2; - VIR_FREE(replyStr); + virJSONValuePtr error = virJSONValueObjectGet(reply, "error"); + if (error) { + const char *errorStr = virJSONValueObjectGetString(error, "desc"); + if (errorStr && c_strcasestr(errorStr, "is locked")) + ret = -2; + } } virJSONValueFree(cmd);