From nobody Thu Aug 11 14:20:18 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4M3TVC0Fh3z4Xxkd; Thu, 11 Aug 2022 14:20:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4M3TVB6w1tz3K7W; Thu, 11 Aug 2022 14:20:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1660227619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XvKuO+YfR6tQqiz0MqtxFxEvYpZ0Vkxuz+uWwiyvii0=; b=oJ7VXq2C/Y8YVkchNVw9vvmEEisMhmrj5nXeSWCvUX8ruxEP6VnwG0eTJlXfMDvQdqjKcc jAdTBOJ3Lw/CjMBfgt88dBuMr8Yek/bc0QTWYUWkzNyeZUxoXEncKUcLi/3SYWLeVT0RjI eU23BzJu+R48G/cI9pt2LFVr2xfCylIOftcReA5Zv5jUl9HsyS8qDFQ4HlLPFhLSmUkF5G hU31I6lDNsv1Qqs6TvdL9pYk2LsnurTzvwbyqeO/q/dM6+HomDcb33aFMyvEOJxTATPRnI 62lWQ+2tKY3GuDMW3VErz5K8tyGCwENki7u6l/d2iuEtGYjvH4zvbe2amkMw0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4M3TVB5sMvztHD; Thu, 11 Aug 2022 14:20:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 27BEKISt084943; Thu, 11 Aug 2022 14:20:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 27BEKIIX084937; Thu, 11 Aug 2022 14:20:18 GMT (envelope-from git) Date: Thu, 11 Aug 2022 14:20:18 GMT Message-Id: <202208111420.27BEKIIX084937@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: e225983737b4 - main - makefs: Fix memory leaks in dsl_dir_finalize_props() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e225983737b42c7dd732ffed2de194e0bd2a3378 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1660227619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XvKuO+YfR6tQqiz0MqtxFxEvYpZ0Vkxuz+uWwiyvii0=; b=GMumbzrXsSGfsP9ebop6dlF6dckH/rP4V9yAnpOphmLRVXy3emEP9MYw4GYRdApvGuwmOs BRZb7MaJzuexBAPhbJXn4/GVeltWwqgML5GZfT49tvaXymnIBa6F/DUi/8BC0U0TDyF+T9 1PSsjOfp8gJrmOHpXeu99M6LFqflGnht5GJErIr++OPRS7lBnHIlmZv8BYsRZCkesUxbKw EhRqOpCn+atf0EmaLmjjLuac1aHh9xKyE6M2Fliv7Zx/HH/I+gsAXBLNgfShxDutuBXNLN 8ocz4cWH7Y5WFnXiZ61yZc8OAe+4ROdF5xUqJ1OJW21vk8D3yUdw9rh0eEf2+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1660227619; a=rsa-sha256; cv=none; b=TB5qXqmJcO4Wk+xPKu/5uoaFiZLV8yYOjxcVIL32zRVEZr8tlP+e/xVtJD+OGrP8+04BdW ZHLv38pifOq2VfdgThMKOOyNGB2aymgCBHMH01gTCaig409RRhZcDLtEseLWkI3kaYsF5L qhUucjBLH/3R3UdJEURcd5EYsAUjEwoNqM8naDFYITplLljGZ+BISN0xgsT4k8WMcHbP+a gt0tko7m8NzpT3gSRzlN4fqiEmCdfmZoBmPKerpBJ3tMQ64tSN0SoYwCUyRvASzXa0LkaI 7DUG1cczpn5rkWkxZhjjOYmT6yAA6FHuDHvCisYFfk5qI6voQhA4gV5uJ9yDEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e225983737b42c7dd732ffed2de194e0bd2a3378 commit e225983737b42c7dd732ffed2de194e0bd2a3378 Author: Mark Johnston AuthorDate: 2022-08-11 14:18:06 +0000 Commit: Mark Johnston CommitDate: 2022-08-11 14:18:06 +0000 makefs: Fix memory leaks in dsl_dir_finalize_props() nvstring_get() returns a copy of the string, not a pointer into the nvlist's internal buffer. Reported by: Coverity Fixes: 240afd8c1fcc ("makefs: Add ZFS support") Sponsored by: The FreeBSD Foundation --- usr.sbin/makefs/zfs/dsl.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/usr.sbin/makefs/zfs/dsl.c b/usr.sbin/makefs/zfs/dsl.c index 5f473e557c02..1d20f5f3891a 100644 --- a/usr.sbin/makefs/zfs/dsl.c +++ b/usr.sbin/makefs/zfs/dsl.c @@ -443,7 +443,7 @@ dsl_dir_finalize_props(zfs_dsl_dir_t *dir) (nvh = nvlist_next_nvpair(dir->propsnv, nvh)) != NULL;) { nv_string_t *nvname; nv_pair_data_t *nvdata; - const char *name; + char *name; nvname = (nv_string_t *)(nvh + 1); nvdata = (nv_pair_data_t *)(&nvname->nv_data[0] + @@ -460,15 +460,18 @@ dsl_dir_finalize_props(zfs_dsl_dir_t *dir) } case DATA_TYPE_STRING: { nv_string_t *nvstr; + char *val; nvstr = (nv_string_t *)&nvdata->nv_data[0]; - zap_add_string(dir->propszap, name, - nvstring_get(nvstr)); + val = nvstring_get(nvstr); + zap_add_string(dir->propszap, name, val); + free(val); break; } default: assert(0); } + free(name); } }