From patchwork Tue May 18 04:40:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siddhesh Poyarekar X-Patchwork-Id: 43444 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8C5D2395205E; Tue, 18 May 2021 04:40:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8C5D2395205E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621312854; bh=U+ccEoeuRZBrGotxjFa9FbSJbMACINCfKzPfAL+LQ1s=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=e68Lr9NA6ms4jkygEXnwLDMrLUG95M+qoS7d6a6rWp7psXzhlWTuTHZGM1OwxFLLQ fk3qb8VU02Wrk6DbW1UpM4wr2OLILtQ5uK1X8SSLGn1qVzrRTJgw6VNnHH3kDDu81y rJK0w9uWpmC45gKMJnzHRdAyNpUbnJVwmvaJHh98= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from aye.elm.relay.mailchannels.net (aye.elm.relay.mailchannels.net [23.83.212.6]) by sourceware.org (Postfix) with ESMTPS id 9BCDE395205E for ; Tue, 18 May 2021 04:40:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9BCDE395205E X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 7FF15481FA3 for ; Tue, 18 May 2021 04:40:50 +0000 (UTC) Received: from pdx1-sub0-mail-a84.g.dreamhost.com (100-101-162-48.trex.outbound.svc.cluster.local [100.101.162.48]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 1DAFE482211 for ; Tue, 18 May 2021 04:40:50 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org Received: from pdx1-sub0-mail-a84.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384) by 100.101.162.48 (trex/6.2.1); Tue, 18 May 2021 04:40:50 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|siddhesh@gotplt.org X-MailChannels-Auth-Id: dreamhost X-Reign-Absorbed: 6e1bd73b44f2fd88_1621312850391_231288348 X-MC-Loop-Signature: 1621312850391:2915792958 X-MC-Ingress-Time: 1621312850391 Received: from pdx1-sub0-mail-a84.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a84.g.dreamhost.com (Postfix) with ESMTP id C92C38844E for ; Mon, 17 May 2021 21:40:49 -0700 (PDT) Received: from rhbox.intra.reserved-bit.com (unknown [1.186.101.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: siddhesh@gotplt.org) by pdx1-sub0-mail-a84.g.dreamhost.com (Postfix) with ESMTPSA id BDD9B89A8A for ; Mon, 17 May 2021 21:40:48 -0700 (PDT) X-DH-BACKEND: pdx1-sub0-mail-a84 To: libc-alpha@sourceware.org Subject: [COMMITTED 3/3] ldconfig: Avoid boolean coercion of opt_chroot Date: Tue, 18 May 2021 10:10:12 +0530 Message-Id: <20210518044012.910681-3-siddhesh@sourceware.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210518044012.910681-1-siddhesh@sourceware.org> References: <20210518044012.910681-1-siddhesh@sourceware.org> MIME-Version: 1.0 X-Spam-Status: No, score=-3494.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Siddhesh Poyarekar via Libc-alpha From: Siddhesh Poyarekar Reply-To: Siddhesh Poyarekar Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Generated code is unchanged. --- elf/ldconfig.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/elf/ldconfig.c b/elf/ldconfig.c index bd2b837ec2..96bf7700b2 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -505,7 +505,7 @@ add_dir_1 (const char *line, const char *from_file, int from_line) return; char *path = entry->path; - if (opt_chroot) + if (opt_chroot != NULL) path = chroot_canon (opt_chroot, path); struct stat64 stat_buf; @@ -526,7 +526,7 @@ add_dir_1 (const char *line, const char *from_file, int from_line) add_glibc_hwcaps_subdirectories (entry, path); } - if (opt_chroot) + if (opt_chroot != NULL) free (path); } @@ -575,7 +575,7 @@ create_links (const char *real_path, const char *path, const char *libname, full_soname = alloca (strlen (path) + strlen (soname) + 2); sprintf (full_libname, "%s/%s", path, libname); sprintf (full_soname, "%s/%s", path, soname); - if (opt_chroot) + if (opt_chroot != NULL) { real_full_libname = alloca (strlen (real_path) + strlen (libname) + 2); real_full_soname = alloca (strlen (real_path) + strlen (soname) + 2); @@ -687,7 +687,7 @@ manual_link (char *library) strcpy (path, "."); } - if (opt_chroot) + if (opt_chroot != NULL) { real_path = chroot_canon (opt_chroot, path); if (real_path == NULL) @@ -804,7 +804,7 @@ search_dir (const struct dir_entry *entry) size_t real_file_name_len; size_t file_name_len = PATH_MAX; char *file_name = alloca (file_name_len); - if (opt_chroot) + if (opt_chroot != NULL) { dir_name = chroot_canon (opt_chroot, entry->path); real_file_name_len = PATH_MAX; @@ -822,7 +822,7 @@ search_dir (const struct dir_entry *entry) { if (opt_verbose) error (0, errno, _("Can't open directory %s"), entry->path); - if (opt_chroot && dir_name) + if (opt_chroot != NULL && dir_name != NULL) free (dir_name); return; } @@ -872,7 +872,7 @@ search_dir (const struct dir_entry *entry) real_file_name = file_name; } sprintf (file_name, "%s/%s", entry->path, direntry->d_name); - if (opt_chroot) + if (opt_chroot != NULL) { len = strlen (dir_name) + strlen (direntry->d_name) + 2; if (len > real_file_name_len) @@ -902,7 +902,7 @@ search_dir (const struct dir_entry *entry) /* In case of symlink, we check if the symlink refers to a directory. */ char *target_name = real_file_name; - if (opt_chroot) + if (opt_chroot != NULL) { target_name = chroot_canon (opt_chroot, file_name); if (target_name == NULL) @@ -964,7 +964,7 @@ search_dir (const struct dir_entry *entry) continue; char *real_name; - if (opt_chroot && is_link) + if (opt_chroot != NULL && is_link) { real_name = chroot_canon (opt_chroot, file_name); if (real_name == NULL) @@ -1178,7 +1178,7 @@ search_dir (const struct dir_entry *entry) free (dlib_ptr); } - if (opt_chroot && dir_name) + if (opt_chroot != NULL && dir_name != NULL) free (dir_name); } @@ -1297,7 +1297,7 @@ static void parse_conf_include (const char *config_file, unsigned int lineno, bool do_chroot, const char *pattern) { - if (opt_chroot && pattern[0] != '/') + if (opt_chroot != NULL && pattern[0] != '/') error (EXIT_FAILURE, 0, _("need absolute file name for configuration file when using -r")); @@ -1395,7 +1395,7 @@ main (int argc, char **argv) set_hwcap (); - if (opt_chroot) + if (opt_chroot != NULL) { /* Normalize the path a bit, we might need it for printing later. */ char *endp = rawmemchr (opt_chroot, '\0'); @@ -1405,7 +1405,7 @@ main (int argc, char **argv) if (endp == opt_chroot) opt_chroot = NULL; - if (opt_chroot) + if (opt_chroot != NULL) { /* It is faster to use chroot if we can. */ if (!chroot (opt_chroot)) @@ -1428,7 +1428,7 @@ main (int argc, char **argv) if (opt_print_cache) { - if (opt_chroot) + if (opt_chroot != NULL) { char *p = chroot_canon (opt_chroot, cache_file); if (p == NULL) @@ -1437,12 +1437,12 @@ main (int argc, char **argv) cache_file = p; } print_cache (cache_file); - if (opt_chroot) + if (opt_chroot != NULL) free (cache_file); exit (0); } - if (opt_chroot) + if (opt_chroot != NULL) { /* Canonicalize the directory name of cache_file, not cache_file, because we'll rename a temporary cache file to it. */ @@ -1491,7 +1491,7 @@ main (int argc, char **argv) } const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE; - if (opt_chroot) + if (opt_chroot != NULL) aux_cache_file = chroot_canon (opt_chroot, aux_cache_file); if (! opt_ignore_aux_cache && aux_cache_file)