From nobody Wed Mar 26 15:49:12 2025 X-Original-To: dev-commits-src-all@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 4ZNB6d41pkz5s6D2; Wed, 26 Mar 2025 15:49:13 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZNB6c6km0z3d5N; Wed, 26 Mar 2025 15:49:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1743004153; 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=RWAD6/60J+iTc8pJvogwQPbiKHWYcvw+sd9qxhbws/4=; b=D2ENSThFqA6kxz1EB6+PRPuhjyPyhrI/5XKvXdTzfhunG7kzCjEGWbLjmLUXo1ERkpsvtJ 8QUUg04+/owMwggLFL6AjKdlDENPzRdD1CEsvjqKFMo6OuXDRcRHCh3Qz+oc+UKmyLg27+ 73+I/QHmBy+r1dqOB/LIMpBx2LnIamH8OKi8QpSThqqZAlSb7baOr6yub2lBC6zYrsKG1K 02jU9vGU5CmFAp+WGVUJDZXq5yYiCzfAZJRb+Wf7FhYGimt9fCTDVdWeluK1dbZlXFivtF Q5sMLh/OI9kHwUSxzJnJ9znZX+nwpMWl04u/DVRhzBpqJzIkWG1J8Ze3I1T7cg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1743004153; a=rsa-sha256; cv=none; b=oXvSRyPMBRoYxXt72vi0yiMP/zdr4iB+vjMzU3EZxc2clZ5MIY1140J2fBc7xH9wJcuIzI PkuPLl1LP6i2r9/cIMzguQdQc1tGn3KslYdfVkO6V06H6EKlgm+em+1st0/mGavK8d0cyL 3kGSiXIznc+Oply7TcUgVi+pG8/9DFmR7XILcLy2a6c+YgO6hTuT7ojZ2wXGj8VZCiBMEG 2iBerC4Jb6dgOyKIAdyt5DaR2NcxDoUdl1ACb3sot+yLlOBAQXZMGTIuGqRIs7is+fIVe3 +vDPqQ5YN8GIuG43dXQyBWA++XmskiOjCRxBc1sPo3N9uyC43sBjgSwN+tuS8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1743004153; 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=RWAD6/60J+iTc8pJvogwQPbiKHWYcvw+sd9qxhbws/4=; b=gaIa41jpmCVnCL5goEBZDmtppTQGtCQwcpgodtKZ4PqkvyZOPunZz1lmoN21BDxQRa90UV Uxw47+11/m7JwWfChuJATR2j3CTU3ZXTqG1Zg7T8A3dBaqeLAfYpbmuk4qQ/rsn4rVP3DH ToGsxeD7o5NC/8S4dYbvPaH29Aiv+8JEQNTg3eN0ehaZ7kmNvHSLAea16KsxWYdbY+18pf Ler3foRzF+NB02q4mSb4ugGQvwt26wcXxTY2epWkQlVmyamm4juTQ0l7tLZTy+0MHDAP2/ JOD22POm3035ugVmyXnyfUSLjEoHHwmKe/deds+EN7c21bWYxTKPY2NWR5iPNQ== 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 4ZNB6c5fYTz2Vg; Wed, 26 Mar 2025 15:49:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52QFnCm6054044; Wed, 26 Mar 2025 15:49:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52QFnCG5054041; Wed, 26 Mar 2025 15:49:12 GMT (envelope-from git) Date: Wed, 26 Mar 2025 15:49:12 GMT Message-Id: <202503261549.52QFnCG5054041@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Enji Cooper Subject: git: 69c5f7b4ca36 - stable/14 - pkg: Fix Coverity warnings List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 69c5f7b4ca368636a6a9fc7d8e0a99d4f1753e30 Auto-Submitted: auto-generated The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=69c5f7b4ca368636a6a9fc7d8e0a99d4f1753e30 commit 69c5f7b4ca368636a6a9fc7d8e0a99d4f1753e30 Author: Mark Johnston AuthorDate: 2025-01-16 15:09:58 +0000 Commit: Enji Cooper CommitDate: 2025-03-26 15:48:01 +0000 pkg: Fix Coverity warnings - Fix allocation size in config_get_repositories(). - Fix a memory leak in read_conf_file(). - Avoid a null pointer dereference in an error path in verify_pubsignature(). Fixes: e3b4a51580fc ("pkg(7): expand VERSION_MAJOR, VERSION_MINOR, RELEASE and OSNAME") Fixes: dc4581589a32 ("pkg: clean support for repositories") (cherry picked from commit c1557708f1fae1bb9c8e23e3bbb2aa2b055e1211) --- usr.sbin/pkg/config.c | 17 ++++++++++------- usr.sbin/pkg/pkg.c | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/usr.sbin/pkg/config.c b/usr.sbin/pkg/config.c index 16f7598fc745..44543f304657 100644 --- a/usr.sbin/pkg/config.c +++ b/usr.sbin/pkg/config.c @@ -477,9 +477,9 @@ read_conf_file(const char *confpath, const char *requested_repo, { struct ucl_parser *p; ucl_object_t *obj = NULL; - const char *abi = pkg_get_myabi(); - char *major, *minor; + char *abi = pkg_get_myabi(), *major, *minor; struct utsname uts; + int ret; if (uname(&uts)) err(EXIT_FAILURE, "uname"); @@ -503,9 +503,9 @@ read_conf_file(const char *confpath, const char *requested_repo, if (errno != ENOENT) errx(EXIT_FAILURE, "Unable to parse configuration " "file %s: %s", confpath, ucl_parser_get_error(p)); - ucl_parser_free(p); /* no configuration present */ - return (1); + ret = 1; + goto out; } obj = ucl_parser_get_object(p); @@ -518,13 +518,16 @@ read_conf_file(const char *confpath, const char *requested_repo, else if (conftype == CONFFILE_REPO) parse_repo_file(obj, requested_repo); } - ucl_object_unref(obj); + + ret = 0; +out: ucl_parser_free(p); + free(abi); free(major); free(minor); - return (0); + return (ret); } static void @@ -675,7 +678,7 @@ config_get_repositories(void) { if (STAILQ_EMPTY(&repositories)) { /* Fall back to PACKAGESITE - deprecated - */ - struct repository *r = calloc(1, sizeof(r)); + struct repository *r = calloc(1, sizeof(*r)); if (r == NULL) err(EXIT_FAILURE, "calloc"); r->name = strdup("fallback"); diff --git a/usr.sbin/pkg/pkg.c b/usr.sbin/pkg/pkg.c index f19c93c6fbb5..305181699e4a 100644 --- a/usr.sbin/pkg/pkg.c +++ b/usr.sbin/pkg/pkg.c @@ -669,7 +669,7 @@ verify_pubsignature(int fd_pkg, int fd_sig, struct repository *r) pubkey = r->pubkey; } else { if (config_string(PUBKEY, &pubkey) != 0) { - warnx("No CONFIG_PUBKEY defined for %s", r->name); + warnx("No CONFIG_PUBKEY defined"); goto cleanup; } }