Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp1885574imm; Sat, 12 May 2018 02:02:48 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpvPlwzne2tFtK8i3ESnzFObc6+PftibRmCBYWdk1AYUn09uaY2yjuLq59slBCDBrjTgkIP X-Received: by 2002:a17:902:76c1:: with SMTP id j1-v6mr1681813plt.284.1526115768588; Sat, 12 May 2018 02:02:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526115768; cv=none; d=google.com; s=arc-20160816; b=jvWGR1laNwBePYLbb9EIs7MOXvKaWgoaZrB50BzNsL6E0wJuGGwe/vOVwn8yiA7cpf yVY0/1V9KDTf1kMoIJXlPakmirYl84+2G4BLfHzhtVyG4/oXjaEVDJhxWouHBmCRx1S/ uf1en84da2WrHjeJ8xRR5ftZg0ohP/IX/AqLVzdV243RdUA2Oazaygw3ZSPPiN+blEeR KRZpAbabqWpvLNNUvW6LgFsc8f0MRnEs3DfvkmAaS9yl2h5aDawKCJoiK0W87lGnyPSx jB6pB3qTNHElDOWu8YdaocgHLHo3LqLZja0MOsImFXDycg944+mhtFM1UxYcDU8xdiiP ScTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=vxAvgSrPGsPGmcM6OOCirwYKd7hibVem+uaK3F6PwBY=; b=kQHU4HnnVEXXS04b3ywlotbs3j7kqaqwlyB7LwdnpH/6P83HmPG3lS1Lu7/vxZgeCx 4ULKMGxIQOQ2jsPlSBNlAGKS8eLxV9/uXGo5zldKJvH3brZHktgzu/tnZVsbIqkYVNjV 52Z1wH+cFcbyLd/rKm2SRDKLyWON0Y+NBHOFXWbfrvEiyZ0kTkQxDBqiw1ITv8f2ZDqR U9T4svl+jsSpBk0qvE3NBsc/n+62hW6VHA47s6fpKdZ6neKo0KscHjK9uiA/QB4e78sv 2wz03Cf3qG1MkQGKEqtCxyW74bkiF7PzJQU84lDVwYb0gML9W92uWwxEkOW3hV5vUNFu KRVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=relG8ryi; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p17-v6si5046121plo.363.2018.05.12.02.02.34; Sat, 12 May 2018 02:02:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=relG8ryi; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751228AbeELJCS (ORCPT + 99 others); Sat, 12 May 2018 05:02:18 -0400 Received: from mail-lf0-f67.google.com ([209.85.215.67]:35569 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751048AbeELJCP (ORCPT ); Sat, 12 May 2018 05:02:15 -0400 Received: by mail-lf0-f67.google.com with SMTP id y72-v6so11164075lfd.2 for ; Sat, 12 May 2018 02:02:15 -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:in-reply-to:references; bh=vxAvgSrPGsPGmcM6OOCirwYKd7hibVem+uaK3F6PwBY=; b=relG8ryiHsdyhAEk+Cef1IapMpDcT24O2r9NBF4WixAQd42yYR+zPAvIsYw2iDJCmw +SY4SwB7MjVnJpAZzvI9iPWKXhnPZ5rh8aEl9OZEl0eKuFCCd8Xhbjyec5jV+IzPhH4W 1UILZqdldAh4Sug1eAChngGgxl9sCIyYtzXXER4LjQngFKuHw2S/I+OgYH6B9lTrg6rA eah9qhy6oCBVRcr7/p8U8QhSzNtGZfIadZyymODIMvqcRf16lmrU+PkXdd53IlM+UjrT 0mqYzp7KjJvMFe3yT3sMJ5p94h5mKlwt2CrJQEUqJr1CxaD/99D0Cm+ytEk2MrZKwwFJ H78A== 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:in-reply-to :references; bh=vxAvgSrPGsPGmcM6OOCirwYKd7hibVem+uaK3F6PwBY=; b=dPis7fPzTFS/9u0OmCIwHcobynOIqE1bJNYKJUnyzINQJSylHl0vH/2h0WrrhR+t7Q 1RWTR+Q2wn84/tgs5NgD/j31R8CY0bg4bMmdbH3+2sk5+vroPjV5RtbOTE5uVhVzVfDO kVtamzp3W6u80d8vevXXWI/B6gxRq26M8akKR/UG/xCwoYqKutHGqddpYrZYan6z9N51 yBgf0f7q2E/Urz9frfI7pnaAIO/CBKM5p+ssoAB9ZoAWqXhn17m2zNiaA9VcUS63XCoj 3TbUybF8lQnnjdr4bOubkto3KZOvi0+tJrWsxbaAo7Wj/9lGBhGPjGB+PLKO4ww8tRWH hQtQ== X-Gm-Message-State: ALKqPwfsOr0hPGYKiSGgDqFqLpcqDxJ6g15b3Xwvgp1d57xC402riu5e IS8jJmU5wfyj2sSddSBIun6pl8lx X-Received: by 2002:a2e:9a50:: with SMTP id k16-v6mr604234ljj.36.1526115734179; Sat, 12 May 2018 02:02:14 -0700 (PDT) Received: from pc-sasha.localdomain (93-127-30-85.static.vega-ua.net. [93.127.30.85]) by smtp.gmail.com with ESMTPSA id z18-v6sm384819lfj.38.2018.05.12.02.02.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 12 May 2018 02:02:13 -0700 (PDT) From: Alexander Kapshuk To: linux-kernel@vger.kernel.org Cc: gregkh@linuxfoundation.org, alexander.kapshuk@gmail.com Subject: [PATCH 2/2] ver_linux: Drop redundant calls to system() to test if file is readable Date: Sat, 12 May 2018 12:02:31 +0300 Message-Id: <20180512090231.4596-2-alexander.kapshuk@gmail.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180512090231.4596-1-alexander.kapshuk@gmail.com> References: <20180512090231.4596-1-alexander.kapshuk@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Running 'test -r' on an awk variable name whose value is an empty string results in test being run with no arguments, and causes system() to return 0, which indicates success when used to test values returned by function calls. This results in code within the if blocks being run when it should not be. Instead of testing if a file is accessible and readable via calls to system("test -r " file), rely on the value returned by getline to perform this kind of testing. Getline returns -1 on error, with the code within the while loops not being run. Signed-off-by: Alexander Kapshuk --- scripts/ver_linux | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/scripts/ver_linux b/scripts/ver_linux index 0b301bd1637d..7227994ccf63 100755 --- a/scripts/ver_linux +++ b/scripts/ver_linux @@ -31,14 +31,12 @@ BEGIN { printversion("Isdn4k-utils", version("isdnctrl")) printversion("Nfs-utils", version("showmount --version")) - if (system("test -r /proc/self/maps") == 0) { - while (getline <"/proc/self/maps" > 0) { - n = split($0, procmaps, "/") - if (/libc.*so$/ && match(procmaps[n], /[0-9]+([.]?[0-9]+)+/)) { - ver = substr(procmaps[n], RSTART, RLENGTH) - printversion("Linux C Library", ver) - break - } + while (getline <"/proc/self/maps" > 0) { + n = split($0, procmaps, "/") + if (/libc.*so$/ && match(procmaps[n], /[0-9]+([.]?[0-9]+)+/)) { + ver = substr(procmaps[n], RSTART, RLENGTH) + printversion("Linux C Library", ver) + break } } @@ -50,9 +48,7 @@ BEGIN { break } } - if (system("test -r " libcpp) == 0) - printversion("Linux C++ Library", version("readlink " libcpp)) - + printversion("Linux C++ Library", version("readlink " libcpp)) printversion("Procps", version("ps --version")) printversion("Net-tools", version("ifconfig --version")) printversion("Kbd", version("loadkeys -V")) @@ -62,13 +58,11 @@ BEGIN { printversion("Udev", version("udevadm --version")) printversion("Wireless-tools", version("iwconfig --version")) - if (system("test -r /proc/modules") == 0) { - while ("sort /proc/modules" | getline > 0) { - mods = mods sep $1 - sep = " " - } - printversion("Modules Loaded", mods) + while ("sort /proc/modules" | getline > 0) { + mods = mods sep $1 + sep = " " } + printversion("Modules Loaded", mods) } function version(cmd, ver) { -- 2.17.0