From nobody Mon Apr 29 15:12:41 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1584437026; cv=none; d=zohomail.com; s=zohoarc; b=dDNqFDOLlQvSlTir+M/g86W9mCfDT6DfPX7gHEI8ZAFEBwm/Tv8eC+Nkw3pm/YsZMBVEz8aNpOC10oiV1MhWUGn0IHKTawZtXk7Ai7isYpudipMGL5dhsXMqPp2tRKkcvv+JkzDK1tCUEourZn4TFONoVxDQjBCoRITtjpMqS+U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1584437026; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=ib5dRezRyf4fCuvPYTQ13QWckytTsm4J7u7VLnTIegc=; b=LE8ooiBafXqybjU9L46NuRaiG6Cq6496t7jn6w1nKawzTf1iETnuIKwru3MNAO8i1rz2U5IQPVHR0p2MBckn8EOkfieG8B5iu5AFr6zbf10uP7rgRJCrBh1aAEWyvdszS0bMbBqm6WOjuAo8ZI08JksyTnHkfAnuFrvd/TpXwyA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1584437026096925.2574067049936; Tue, 17 Mar 2020 02:23:46 -0700 (PDT) Received: from localhost ([::1]:54900 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jE8Rs-0006uD-Hl for importer@patchew.org; Tue, 17 Mar 2020 05:23:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56632) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jE8R5-0006JI-DO for qemu-devel@nongnu.org; Tue, 17 Mar 2020 05:22:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jE8R4-0003jq-9P for qemu-devel@nongnu.org; Tue, 17 Mar 2020 05:22:55 -0400 Received: from us-smtp-delivery-74.mimecast.com ([63.128.21.74]:36452) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jE8R4-0003eS-5L for qemu-devel@nongnu.org; Tue, 17 Mar 2020 05:22:54 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-356-G-f2Tik0N9mzduBeMcZykA-1; Tue, 17 Mar 2020 05:22:51 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B894010883B7 for ; Tue, 17 Mar 2020 09:22:47 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-130.ams2.redhat.com [10.36.112.130]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4F6D110027AA; Tue, 17 Mar 2020 09:22:43 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id CBDD11138404; Tue, 17 Mar 2020 10:22:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1584436973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ib5dRezRyf4fCuvPYTQ13QWckytTsm4J7u7VLnTIegc=; b=Hc6AbksmpfB/eFwG0/aemEQNG8IuWZ2OYKydrGcsnteBtfoQ5D2CeTh6pG83xtRpgr4Vmm G1IC4GDjfphVJpqx5ZheJn9XFXEj5KY6EAPlp4KLVgr1MUhNfRPo5x65rNyrjBchIcsmDK L4buyevObTbpCPx2Qsn227wAUWNWrZY= X-MC-Unique: G-f2Tik0N9mzduBeMcZykA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH] qom-qmp-cmds: Fix another memory leak in qmp_object_add() Date: Tue, 17 Mar 2020 10:22:41 +0100 Message-Id: <20200317092241.31660-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 63.128.21.74 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" When user_creatable_add_type() fails, qmp_object_add() returns both its error and the usual empty QDict success value. The QMP core handles the error, and ignores the success value, leaking it. Exposed by qmp-cmd-test case /x86_64/qmp/object-add-without-props, and duly reported both by ASan and valgrind. To plug the leak, set the success value only on success. Fixes: 5f07c4d60d091320186e7b0edaf9ed2cc16b2d1e Cc: Kevin Wolf Signed-off-by: Markus Armbruster Reviewed-by: Daniel P. Berrang=C3=A9 Reviewed-by: Marc-Andr=C3=A9 Lureau --- qom/qom-qmp-cmds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qom/qom-qmp-cmds.c b/qom/qom-qmp-cmds.c index 435193b036..6bd137ccbf 100644 --- a/qom/qom-qmp-cmds.c +++ b/qom/qom-qmp-cmds.c @@ -287,8 +287,8 @@ void qmp_object_add(QDict *qdict, QObject **ret_data, E= rror **errp) visit_free(v); if (obj) { object_unref(obj); + *ret_data =3D QOBJECT(qdict_new()); } - *ret_data =3D QOBJECT(qdict_new()); } =20 void qmp_object_del(const char *id, Error **errp) --=20 2.21.1