From nobody Wed Jan 15 08:21:29 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 4YXzVK4Wnkz5l66t; Wed, 15 Jan 2025 08:21:29 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXzVK3nsZz47Np; Wed, 15 Jan 2025 08:21:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736929289; 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=023GpNoTSlmHXDDXOQWvrXqvoOZE3RT9blHo6SlFqkM=; b=rcY7hsbr/lB6uTWVtY7nHR02MClPW/LEmxViB/tzgr3mX6ya5LbPak+CJstbjaN904sbX4 56Z0dhauHFdlpouFs0EzBuxLHo12k4bj8iruxZ3gUGEErv62DuRx5yLM2V1eHhGAGpWbsN KZENJWFbDcXqcvOUrFDr4igRL2EBnaX+if08BxJRf03QytcXeOnHX7K1xYLZCOhelRhnK+ T+BVG/bFzU0NXN142Er4PKZJOts+SY8cXLPy48QV3ehemmp0gtc5HOzGVpuKnMm+MXpTUX wx8559TUd23YOrYuw3tvHv/w9zz0gYBI8KIpowew4EA6YNG5fchyuKlKoxBAjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736929289; 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=023GpNoTSlmHXDDXOQWvrXqvoOZE3RT9blHo6SlFqkM=; b=I3HNigSkKISippl9q73NG1ZRvvjCQs6IrZ8zxadqa9vfsr1ZnaZxrTz7zgtpRiDEv8NTKW bFK8tnaz7NcSKShAzE8vazhRfMVdA7Y0ucJUmG9ddxe1XM5m7kxngfkURFZMqb8uz3cu0Q 89LeMbl2vTXeUqNTljfJU4AXRxMtnsy0RJpJy2seTKlLlVoAseKFNlZMmiKPZtE3PDdeqm f7Kf9MBYv6zFoYO6fWsV9YLEFsM9i8kH0ZxJDJs4Z9qeTsNhLUAQjmGscAmqz2X8j2dbyX ri/U4WhvjEzh2Fi+zy/1LkFsp7ZWa08dShtt/0bNdopJj/GrfV5/tiBghw1G9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736929289; a=rsa-sha256; cv=none; b=EldJkCKzBUOpJQ9wo4JhV8ivD59QUSthwuk/y+Z2GgiMqhPvy4qXW9qg8fur1WXaOf8fsk ytslEUKcqdgUWt+ciLDmIO63WbewxmwenbOHWMb31ijHkg4eam+LGkUWrH715sbCW1mUKN 8u8NM3MkanaENbT4HkRQ+hR5Ax422lSFa+4Tdhn1oK+UMUEOd8Ny7ejaeBcX1g9CLIXcht Dvocz+vgRpIrOj9virlq6lVkNuaEu4xfs1ZIM4Rl+CqvwM4kj4ec/XsM/h14iGJTnh7VZq l1Ime7JCfUSyWFOVr7y9Ol2NbL4diJRvHYOCpg29NXJ6brLgqldD6x8VTAbISw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4YXzVK3Nm6zdsG; Wed, 15 Jan 2025 08:21:29 +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 50F8LT8L096332; Wed, 15 Jan 2025 08:21:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F8LTBR096329; Wed, 15 Jan 2025 08:21:29 GMT (envelope-from git) Date: Wed, 15 Jan 2025 08:21:29 GMT Message-Id: <202501150821.50F8LTBR096329@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: eccf736c3ce6 - main - pkg: make sure the repositories have at least an url 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eccf736c3ce6e9566fa9923080b4c24ee7f9ae2a Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=eccf736c3ce6e9566fa9923080b4c24ee7f9ae2a commit eccf736c3ce6e9566fa9923080b4c24ee7f9ae2a Author: Baptiste Daroussin AuthorDate: 2025-01-15 08:06:55 +0000 Commit: Baptiste Daroussin CommitDate: 2025-01-15 08:21:19 +0000 pkg: make sure the repositories have at least an url While here, factorize code to free the repository structure --- usr.sbin/pkg/config.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/usr.sbin/pkg/config.c b/usr.sbin/pkg/config.c index fe1599f42c2c..3aaa7a7815e8 100644 --- a/usr.sbin/pkg/config.c +++ b/usr.sbin/pkg/config.c @@ -1,9 +1,8 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2014 Baptiste Daroussin + * Copyright (c) 2014-2025 Baptiste Daroussin * Copyright (c) 2013 Bryan Drewery - * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -332,6 +331,16 @@ parse_mirror_type(struct repository *r, const char *mt) r->mirror_type = MIRROR_NONE; } +static void +repo_free(struct repository *r) +{ + free(r->name); + free(r->url); + free(r->fingerprints); + free(r->pubkey); + free(r); +} + static bool parse_signature_type(struct repository *repo, const char *st) { @@ -344,11 +353,7 @@ parse_signature_type(struct repository *repo, const char *st) else { warnx("Signature type %s is not supported for bootstrapping," " ignoring repository %s", st, repo->name); - free(repo->url); - free(repo->name); - free(repo->fingerprints); - free(repo->pubkey); - free(repo); + repo_free(repo); return false; } return (true); @@ -392,13 +397,16 @@ parse_repo(const ucl_object_t *o) } else if (strcasecmp(key, "enabled") == 0) { if ((cur->type != UCL_BOOLEAN) || !ucl_object_toboolean(cur)) { - free(repo->url); - free(repo->name); - free(repo); + repo_free(repo); return; } } } + /* At least we need an url */ + if (repo->url == NULL) { + repo_free(repo); + return; + } STAILQ_INSERT_TAIL(&repositories, repo, next); return; }