From nobody Sun Nov 2 03:06:21 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1527533409336946.4688801698948; Mon, 28 May 2018 11:50:09 -0700 (PDT) Received: from localhost ([::1]:57436 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fNNDc-0005G1-HA for importer@patchew.org; Mon, 28 May 2018 14:50:08 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44973) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fNNCd-0004sf-UI for qemu-devel@nongnu.org; Mon, 28 May 2018 14:49:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fNNCZ-0000N7-2W for qemu-devel@nongnu.org; Mon, 28 May 2018 14:49:07 -0400 Received: from mail-wm0-x241.google.com ([2a00:1450:400c:c09::241]:39423) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fNNCY-0000Ml-Rx for qemu-devel@nongnu.org; Mon, 28 May 2018 14:49:02 -0400 Received: by mail-wm0-x241.google.com with SMTP id f8-v6so34382052wmc.4 for ; Mon, 28 May 2018 11:49:02 -0700 (PDT) Received: from localhost.localdomain (94-255-130-40.cust.bredband2.com. [94.255.130.40]) by smtp.gmail.com with ESMTPSA id f64-v6sm6998839lfg.63.2018.05.28.11.48.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 May 2018 11:49:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=YnYU+6zWrOpWmbh5iuHusPAVHBzMHSrYOEOkaiJdcas=; b=OOJjnaAu/zHeF9+5XeYBZaF8uHAgvRsTviYMfNMraGpytukyRbOT4z9uNjs5696oAL CTXNcIepsom1AP2O8f7WEXkWJ23cXpAbIkue08zAcpyr2IGElwVtCPqfVW3QpftGPmUg crRs1t3D8iOlU3ew1tuTYokS2ppkQ1mRC1Seda8NO4RMe9s2O2cZzEDLCXqXL8fWmkWR 9wSbxADWAJfgruzN3kVY6toEh1oSLYmDvR1ZQYbZU7HMGlW01bRzyt4ZoSCAvDx+6iFy 1a8a7Qism3dgwxnZDtJ2p8KqO5T32emr3d/GiZNqGZZ3mp0eYk3xK+RTTR7f9oUgAll3 KYjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=YnYU+6zWrOpWmbh5iuHusPAVHBzMHSrYOEOkaiJdcas=; b=EFac9/4HTiVvIMhbJ7QXcHTYLc1sAXmK4iYJJK4oO7TU4PjA90alCa1lFMbkoIEiM5 E2ja2qIUPuEpAVBkEBGxfLsy+XBmit/BMfMhev65cpsXxdeI7MqPOMFMdFWeRQ8KPBWB rwA/mEErvcIRa9DdU9jrR9sWwYWJ3iEnWt5WpJMtT++b20HJtRrMD/QZgnoOr4KnD1Ca jCX5lO5H0aLXb7k90Pk+073VyJMaxwdtWTd2CDwaN+d1giRO41mjz821Rm9FojyrBqC/ sWh50L3f4RL9XHuuCQybztR2pqWlnkeSKpq1+nKjZ2JfDLrrr82O2tV6+Xhwo7qnUWjR 2YoA== X-Gm-Message-State: ALKqPwdIw2hwj1FsN1RGYUwO2absmvgahDefy4MKkXOdPWtDQlteORTX umVmg2+jTikP63uSs2K0YGd+Qg== X-Google-Smtp-Source: AB8JxZpMFWM+iOkIQgXN7iSPxYVDrG1YEjwPfxF9pAFJ2w04p6TBN7Ht/r+6VwAvrKwKxZwU8RW+Vw== X-Received: by 2002:a2e:9218:: with SMTP id k24-v6mr8951179ljg.70.1527533341149; Mon, 28 May 2018 11:49:01 -0700 (PDT) From: Francisco Iglesias To: qemu-devel@nongnu.org Date: Mon, 28 May 2018 20:48:59 +0200 Message-Id: <20180528184859.3530-1-frasse.iglesias@gmail.com> X-Mailer: git-send-email 2.11.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::241 Subject: [Qemu-devel] [PATCH v1] xlnx-zdma: Correct mem leaks and memset to zero on desc unaligned errors X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, francisco.iglesias@feimtech.se, sai.pavan.boddu@xilinx.com, alistair@alistair23.me, edgari@xilinx.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Coverity found that the string return by 'object_get_canonical_path' was not being freed at two locations in the model (CID 1391294 and CID 1391293) and also that a memset was being called with a value greater than the max of a = byte on the second argument (CID 1391286). This patch corrects this by adding the freeing of the strings and also changing to memset to zero instead on descriptor unaligned errors. Signed-off-by: Francisco Iglesias Reviewed-by: Edgar E. Iglesias Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/dma/xlnx-zdma.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/hw/dma/xlnx-zdma.c b/hw/dma/xlnx-zdma.c index 14d86c254b..8eea757aff 100644 --- a/hw/dma/xlnx-zdma.c +++ b/hw/dma/xlnx-zdma.c @@ -302,7 +302,7 @@ static bool zdma_load_descriptor(XlnxZDMA *s, uint64_t = addr, void *buf) qemu_log_mask(LOG_GUEST_ERROR, "zdma: unaligned descriptor at %" PRIx64, addr); - memset(buf, 0xdeadbeef, sizeof(XlnxZDMADescr)); + memset(buf, 0x0, sizeof(XlnxZDMADescr)); s->error =3D true; return false; } @@ -707,9 +707,11 @@ static uint64_t zdma_read(void *opaque, hwaddr addr, u= nsigned size) RegisterInfo *r =3D &s->regs_info[addr / 4]; =20 if (!r->data) { + gchar *path =3D object_get_canonical_path(OBJECT(s)); qemu_log("%s: Decode error: read from %" HWADDR_PRIx "\n", - object_get_canonical_path(OBJECT(s)), + path, addr); + g_free(path); ARRAY_FIELD_DP32(s->regs, ZDMA_CH_ISR, INV_APB, true); zdma_ch_imr_update_irq(s); return 0; @@ -724,9 +726,11 @@ static void zdma_write(void *opaque, hwaddr addr, uint= 64_t value, RegisterInfo *r =3D &s->regs_info[addr / 4]; =20 if (!r->data) { + gchar *path =3D object_get_canonical_path(OBJECT(s)); qemu_log("%s: Decode error: write to %" HWADDR_PRIx "=3D%" PRIx64 = "\n", - object_get_canonical_path(OBJECT(s)), + path, addr, value); + g_free(path); ARRAY_FIELD_DP32(s->regs, ZDMA_CH_ISR, INV_APB, true); zdma_ch_imr_update_irq(s); return; --=20 2.11.0