GNU bug report logs - #72756
Potential Bug/Vuln in test.c

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: coreutils; Reported by: Nathan Hays <nathan.hays@HIDDEN>; Done: Paul Eggert <eggert@HIDDEN>; Maintainer for coreutils is bug-coreutils@HIDDEN.
bug closed, send any further explanations to 72756 <at> debbugs.gnu.org and Nathan Hays <nathan.hays@HIDDEN> Request was from Paul Eggert <eggert@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 22 Aug 2024 07:36:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 22 03:36:02 2024
Received: from localhost ([127.0.0.1]:36619 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sh2MT-0000h5-Or
	for submit <at> debbugs.gnu.org; Thu, 22 Aug 2024 03:36:02 -0400
Received: from lists.gnu.org ([209.51.188.17]:43800)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <towo@HIDDEN>) id 1sh2MP-0000gv-GL
 for submit <at> debbugs.gnu.org; Thu, 22 Aug 2024 03:36:00 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <towo@HIDDEN>) id 1sh2Lf-0001Pe-6T
 for bug-coreutils@HIDDEN; Thu, 22 Aug 2024 03:35:11 -0400
Received: from mout.kundenserver.de ([212.227.17.24])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <towo@HIDDEN>) id 1sh2Lc-0004OL-7C
 for bug-coreutils@HIDDEN; Thu, 22 Aug 2024 03:35:10 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=towo.net;
 s=s1-ionos; t=1724312103; x=1724916903; i=towo@HIDDEN;
 bh=aTVOdc5RkSNnGCm/c83GGI9gqLSedSzDwovRTdebL+Y=;
 h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version:
 Subject:To:References:From:In-Reply-To:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=Y0x7P3hzRbrrF3HuKTlSUVCbPVkdA7Lnx8MGSBJfGy335rghYjtdcAMwYNQbF5HE
 VvtbZLMnSeCn8cCorT8+wLAe7cFrXoZ+piO5PfN25RO/rxsqNqWPLxc+ydsIYqXoy
 QKmDD7larLII5vmv7jeaCtLRUU4ToOz4QYRoNLK+l8jeC8M0qRtbHKtdOVXzaFtNC
 N6HmXohf/HzJ0rMis3jKPQtAAZkCaiO+Lb/WDWJkmtRuPaOxvDzhJks093SQYrjln
 8NGO+LJinQIqDKcBQdK/dIW4FHuJH1QvkL5zrZC76duIIL0sSHtv2Hbf+DncIxUs8
 X6hnL5Pt+MRRk+QbJg==
X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6
Received: from [192.168.178.51] ([178.25.168.171]) by mrelayeu.kundenserver.de
 (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id
 1MWzXj-1sf16b1xdZ-00MInn for <bug-coreutils@HIDDEN>; Thu, 22 Aug 2024
 09:29:48 +0200
Content-Type: multipart/alternative;
 boundary="------------aPj0yutfyM7rAjkFSmrFF0Hn"
Message-ID: <d5fbd996-b063-44cd-8810-201cd8eb083e@HIDDEN>
Date: Thu, 22 Aug 2024 09:29:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#72756: Potential Bug/Vuln in test.c
To: bug-coreutils@HIDDEN
References: <DS0PR06MB9180436AF1B5A40153ED3750958E2@HIDDEN>
 <07879d4f-bc32-4472-9d45-885e2fe9afb5@HIDDEN>
From: Thomas Wolff <towo@HIDDEN>
Autocrypt: addr=towo@HIDDEN; keydata=
 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 kQ==
In-Reply-To: <07879d4f-bc32-4472-9d45-885e2fe9afb5@HIDDEN>
X-Provags-ID: V03:K1:eiNwW3HAs51wfXJi/pV3+LyaaC1RpnT56xzu6w8MX5btQpnWa2v
 a7lDp5VNQgUso1FaZMYGG95NsZ2ZS/+BVm+h8KcZEekDddAeaCq/RaGavusUk4UrCksg54l
 FwnUSpXNKKGCR9sh3UoM6dAFUmPHN3RvStHII7UQoR14TbQZGKEHk2VvQOI23ieoSU0XlF0
 vz+44GtdzOP2OCJEJYyIQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:IUw4HgWSYwY=;K9dCG/K4NKs1yxkBQtDehJGg6kF
 ke3/zJslwFfe1wTNJDIRLyhrA4as/HPbPVN4fp4uhBMoGNrTHWvZZSQiaEfH3VyxfSMV+7PSP
 h/TcPnqQ/ErV9WhknLyBKq76mG1FPoEuYjZX2BtaNVvcaMzU0NbY7HUKyh3BeDxmCcxBQfJuc
 QFGTswD25BvgaTnVqtMJoMf1fJ2Sndy/HeFWP4r6zIcatZhxHgVBDy5Trve8xSpZ5Ptkt7nHu
 7yaU903t/NktoN7URFZtu1AX75U33U02FGD4+N3/v+0T4ZkyhlIxz255KL4FN1IAKCynafVFi
 1zWFoNlyxdMhINqKvXv5A+wBQgNKar512MPv9VL5RfnXXxH66GxU78LjXMRQC1F1dVRTKhLrd
 WWPrn+KaBp0dlO9C39n4zlUtbkppMDRXRFeGfEIng3GTUOZ39Rhay/cSbtPfGnp5ah1W+EkIm
 FZSLE8FWNG2Jt73wTc/YSBoaKMJ2993h4ZkVcldBgyi8d4XiHCq/D9FPB1k5ASWDes1Kz2ETI
 92UrQjyq4J+IrONO4PmuxA0roQKivBMdyNcWqm09KI42CIq1wzvejSFYoFpOVdTg7nnW1y01/
 WOQg9UOqZeQWEPEGDVpjhtvZYKENi0o5fcDbhLRlXRSYjoirkrkDkGEeL5cTGu9n8HKC8Yuhe
 S/3aM0zAyKOUFv77sNIKiVbZm0sWUlQ1b4c4qVQDyZji4iHOBmXiTqIOIj6Yg0oUbyv4ZZ+kv
 yu/VglSHgo3yHkifGifYbs0lSKOez1uVg==
Received-SPF: pass client-ip=212.227.17.24; envelope-from=towo@HIDDEN;
 helo=mout.kundenserver.de
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001,
 RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

This is a multi-part message in MIME format.
--------------aPj0yutfyM7rAjkFSmrFF0Hn
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable


Am 22.08.2024 um 08:54 schrieb Philip Rowlands:
> On Wed, 21 Aug 2024, at 18:29, Nathan Hays via GNU coreutils Bug Reports=
 wrote:
>> Test:
>> ~~~bash
>> testvar=3D''
>> [ -n $testvar ]
>> echo -n unquote exit $?
>> [ -n "$testvar" ]
>> echo -n quote exit $?
>> [ -z $testvar ]
>> echo -z unquote exit $?
>> [ -z "$testvar" ]
>> echo -z quote exit $?
>> ~~~
> For this code snippet, the shellcheck linter reports
>
> [ -n $testvar ]
>       ^------^ SC2070: -n doesn't work with unquoted arguments. Quote or=
 use [[ ]].
>       ^------^ SC2086: Double quote to prevent globbing and word splitti=
ng.
>
> Did you mean:
> [ -n "$testvar" ]
>
> For more information:
>    https://www.shellcheck.net/wiki/SC2070  -- -n doesn't work with unquo=
ted arg...
It's a similar confusing syntax glitch as in shell:
# cond=3Dtrue # commented out with the assumption the below condition will
not be true then
if $cond
then echo surprise # but it is
fi

Cheers
Thomas

> Cheers,
> Phil
>

--------------aPj0yutfyM7rAjkFSmrFF0Hn
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <br>
    <div class="moz-cite-prefix">Am 22.08.2024 um 08:54 schrieb Philip
      Rowlands:<br>
    </div>
    <blockquote type="cite"
      cite="mid:07879d4f-bc32-4472-9d45-885e2fe9afb5@HIDDEN">
      <pre class="moz-quote-pre" wrap="">On Wed, 21 Aug 2024, at 18:29, Nathan Hays via GNU coreutils Bug Reports wrote:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Test:
~~~bash
testvar=''
[ -n $testvar ]
echo -n unquote exit $?
[ -n "$testvar" ]
echo -n quote exit $?
[ -z $testvar ]
echo -z unquote exit $?
[ -z "$testvar" ]
echo -z quote exit $?
~~~
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
For this code snippet, the shellcheck linter reports

[ -n $testvar ]
     ^------^ SC2070: -n doesn't work with unquoted arguments. Quote or use [[ ]].
     ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean:
[ -n "$testvar" ]

For more information:
  <a class="moz-txt-link-freetext" href="https://www.shellcheck.net/wiki/SC2070">https://www.shellcheck.net/wiki/SC2070</a> -- -n doesn't work with unquoted arg...</pre>
    </blockquote>
    It's a similar confusing syntax glitch as in shell:<br>
    # cond=true # commented out with the assumption the below condition
    will not be true then<br>
    if $cond<br>
    then echo surprise # but it is<br>
    fi<br>
    <br>
    Cheers<br>
    Thomas<br>
    <br>
    <blockquote type="cite"
      cite="mid:07879d4f-bc32-4472-9d45-885e2fe9afb5@HIDDEN">
      <pre class="moz-quote-pre" wrap="">
Cheers,
Phil

</pre>
    </blockquote>
  </body>
</html>

--------------aPj0yutfyM7rAjkFSmrFF0Hn--




Information forwarded to bug-coreutils@HIDDEN:
bug#72756; Package coreutils. Full text available.

Message received at 72756 <at> debbugs.gnu.org:


Received: (at 72756) by debbugs.gnu.org; 22 Aug 2024 06:56:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 22 02:56:35 2024
Received: from localhost ([127.0.0.1]:36610 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sh1kI-00084Y-RP
	for submit <at> debbugs.gnu.org; Thu, 22 Aug 2024 02:56:35 -0400
Received: from fhigh1-smtp.messagingengine.com ([103.168.172.152]:33193)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <phr+coreutils@HIDDEN>) id 1sh1kE-00084F-Tk
 for 72756 <at> debbugs.gnu.org; Thu, 22 Aug 2024 02:56:32 -0400
Received: from phl-compute-02.internal (phl-compute-02.nyi.internal
 [10.202.2.42])
 by mailfhigh.nyi.internal (Postfix) with ESMTP id 01B8D1151B23;
 Thu, 22 Aug 2024 02:55:40 -0400 (EDT)
Received: from phl-imap-08 ([10.202.2.84])
 by phl-compute-02.internal (MEProxy); Thu, 22 Aug 2024 02:55:40 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dimebar.com; h=
 cc:content-transfer-encoding:content-type:content-type:date:date
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm3; t=1724309739;
 x=1724396139; bh=pvPpOMt5fEpq/tX49CTHS7dP6JAcBu7/dA/P4GCWmbU=; b=
 BC1yN+J/Ut4T+/P1N3blRCm0LtlrwNcfVwFHH9tgfVEg13sq+5KR8KzECGegVLAn
 U8ujqbj7wTSC0M6grRp9JjIRM9NSmVhlJMqahRsKYO6/gHXknRZV0mCXE+P42Zpj
 lG4Fn3z7rZltCaktIUptt/2cpmtnI9KvViudKIrAZ4+rAObHiv4Q+wC7FvoQUIDA
 dkxAgpV+GXXH6mQ7UjZ4+HlNBBR2HK0DuofqE09vQvi5Va1sMWzRHx6eqOdh3oGT
 TbJXTi89J8sjeR1O+IlBN4Up4QXojIVEjzA79/X6Mf2vDK7Rz7UPsJFWMw45UKHq
 23gT0pwqgMQTNcAV6P/V8Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :content-type:date:date:feedback-id:feedback-id:from:from
 :in-reply-to:in-reply-to:message-id:mime-version:references
 :reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1724309739; x=
 1724396139; bh=pvPpOMt5fEpq/tX49CTHS7dP6JAcBu7/dA/P4GCWmbU=; b=V
 tQUTtGAE2Jkv7hKCnPeicWJjYHl+fBK+OMzn1mJmyEnbiwkGMlHkheUnXeMk2xmK
 lANYpG3F2css7bKUw9M1+NuqGfR7ukWaZrps0hpRxZYw4bOs88eAq8N9z46vrl90
 Vw6gJUbRPicGYvxH10cJ8FFb8kjCAFVS5O/25mvSEfYKkj6nT01llNqqA77tE0ZD
 JJjWu0BQiffsHwDGgjCNUeXt1z57b/GDMuLFehyNVUUH1WgRSbjVgjNaIUtgvJUr
 ns2bknI9ORQj71kHN5NVrpPg7a2+kk/avWObvldYfwXpOLqOpZUUANYOyYDlMYKz
 ikQkJNP9yjasbRvSfua2Q==
X-ME-Sender: <xms:6-DGZk9ua9z4WH9kMycni_Oim6RHDhVW9BhKzvfwOK5jy8ie_pee5Q>
 <xme:6-DGZssNo9n0vC0yDWzkP6Wluewj0_lLGBL8ILjEVUwbW8wYFzpS10nD6Nl0GaaYj
 bqenSSEwmP6t1wG>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudduledgudduhecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
 uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg
 hnthhsucdlqddutddtmdenucfjughrpefoggffhffvkfgjfhfutgfgsehtjeertdertddt
 necuhfhrohhmpedfrfhhihhlihhpucftohiflhgrnhgushdfuceophhhrhdotghorhgvuh
 htihhlshesughimhgvsggrrhdrtghomheqnecuggftrfgrthhtvghrnhepgefghefhkeek
 geelieekudduieevfeelgeekffdvkefhkeeikeffleeifeejheffnecuffhomhgrihhnpe
 hshhgvlhhltghhvggtkhdrnhgvthenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr
 mhepmhgrihhlfhhrohhmpehphhhrodgtohhrvghuthhilhhsseguihhmvggsrghrrdgtoh
 hmpdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopeej
 vdejheeiseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepnhgrthhhrghnrd
 hhrgihshesnhgttghgrhhouhhprdgtohhm
X-ME-Proxy: <xmx:6-DGZqCZVeFj0tNh5WhH5LkC5xuYHzxbzX3cJln9x_d6XpUa-ZOuQQ>
 <xmx:6-DGZkeV230yvhRmoyhYYgECQhqj_3WoPcnnszf6Hjycfottjklysw>
 <xmx:6-DGZpMdVEp1ClbZa0LseLCN9u0LqpTFQ7E3HbqbrM-lRK-TSiS-uw>
 <xmx:6-DGZulFzXahu-Xmj8xWmtF2GCUBVNQNoFEkH7OgccrrogD8WDflXQ>
 <xmx:6-DGZrVK4PItIFVkEORffN5JYr_HTDrTeHvvvn63ThVmY6Jwczs9j6JF>
Feedback-ID: i3ef94498:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501)
 id B07C218A005C; Thu, 22 Aug 2024 02:55:39 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
Date: Thu, 22 Aug 2024 07:54:35 +0100
From: "Philip Rowlands" <phr+coreutils@HIDDEN>
To: "Nathan Hays" <nathan.hays@HIDDEN>, 72756 <at> debbugs.gnu.org
Message-Id: <07879d4f-bc32-4472-9d45-885e2fe9afb5@HIDDEN>
In-Reply-To: <DS0PR06MB9180436AF1B5A40153ED3750958E2@HIDDEN>
References: <DS0PR06MB9180436AF1B5A40153ED3750958E2@HIDDEN>
Subject: Re: bug#72756: Potential Bug/Vuln in test.c
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 72756
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On Wed, 21 Aug 2024, at 18:29, Nathan Hays via GNU coreutils Bug Reports wrote:
> Test:
> ~~~bash
> testvar=''
> [ -n $testvar ]
> echo -n unquote exit $?
> [ -n "$testvar" ]
> echo -n quote exit $?
> [ -z $testvar ]
> echo -z unquote exit $?
> [ -z "$testvar" ]
> echo -z quote exit $?
> ~~~

For this code snippet, the shellcheck linter reports

[ -n $testvar ]
     ^------^ SC2070: -n doesn't work with unquoted arguments. Quote or use [[ ]].
     ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean:
[ -n "$testvar" ]

For more information:
  https://www.shellcheck.net/wiki/SC2070 -- -n doesn't work with unquoted arg...



Cheers,
Phil




Information forwarded to bug-coreutils@HIDDEN:
bug#72756; Package coreutils. Full text available.

Message received at 72756 <at> debbugs.gnu.org:


Received: (at 72756) by debbugs.gnu.org; 22 Aug 2024 06:22:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 22 02:22:02 2024
Received: from localhost ([127.0.0.1]:36582 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sh1Cs-000792-3c
	for submit <at> debbugs.gnu.org; Thu, 22 Aug 2024 02:22:02 -0400
Received: from mail.cs.ucla.edu ([131.179.128.66]:45178)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eggert@HIDDEN>) id 1sh1Co-00078g-Vc
 for 72756 <at> debbugs.gnu.org; Thu, 22 Aug 2024 02:22:01 -0400
Received: from localhost (localhost [127.0.0.1])
 by mail.cs.ucla.edu (Postfix) with ESMTP id D4B203C00E402;
 Wed, 21 Aug 2024 23:21:07 -0700 (PDT)
Received: from mail.cs.ucla.edu ([127.0.0.1])
 by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP
 id Uh08pgYNEbJC; Wed, 21 Aug 2024 23:21:07 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.cs.ucla.edu (Postfix) with ESMTP id 575453C00E415;
 Wed, 21 Aug 2024 23:21:07 -0700 (PDT)
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 575453C00E415
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu;
 s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1724307667;
 bh=YMHq3zrUwSRA8yJqt0VcxcoLhhu7O9mtiOTH0kVJbMk=;
 h=Message-ID:Date:MIME-Version:To:From;
 b=E5JHH5EEeYlJMw7JLSIX8+GykKZEPS/EXAtFHyJFpaSmYWl6P/NkI9tBYD+XQik/z
 rWft7JjLhXfHu8sQyyPygbByKPde4N09r0fAqrBR2w+oHCwzNMgMu8ZuDve3JkrAB2
 vXc5N4/OMvWYSyEbd9jwSKgY4MMSgpYDFVBRalgaIu8YDUFsEXQ2/8pfwTUzkAH6J6
 799grch0iDThkgndWizxW1Bdwcrk1vxGunH6A6fNf0OsHU+rBjynmwbqgDb+hkEz29
 Srt85OOYBUd8FsZSg7pUFcsAB8jqozvcJ6c43I88Iv99GULUEKRq4owoEhzv1qVtA5
 lzZSw1VvfAY9A==
X-Virus-Scanned: amavis at mail.cs.ucla.edu
Received: from mail.cs.ucla.edu ([127.0.0.1])
 by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP
 id AypBA6QQPpk4; Wed, 21 Aug 2024 23:21:07 -0700 (PDT)
Received: from [192.168.254.12] (unknown [47.150.137.250])
 by mail.cs.ucla.edu (Postfix) with ESMTPSA id 3E0763C00E402;
 Wed, 21 Aug 2024 23:21:07 -0700 (PDT)
Message-ID: <eaffa242-f25f-40c0-bc96-e505f5cdf5d3@HIDDEN>
Date: Wed, 21 Aug 2024 23:21:07 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#72756: Potential Bug/Vuln in test.c
To: Nathan Hays <nathan.hays@HIDDEN>
References: <DS0PR06MB9180436AF1B5A40153ED3750958E2@HIDDEN>
Content-Language: en-US
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
In-Reply-To: <DS0PR06MB9180436AF1B5A40153ED3750958E2@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72756
Cc: 72756 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

I don't see a bug there. 'test' is behaving as documented.

> Expectation:
> `var=''; [ -n $var ]; echo $?` should NOT return `0`

This expectation is incorrect, because that command should exit with 
status 0. This is because the command '[ -n $var ]' is equivalent to:

   [ -n ]

which is equivalent to:

   test -n

and this is is defined to exit successfully, because '-n' is not the 
empty string.

The presence of the shell variable is irrelevant, because the shell 
omits the expansion of $var in the context you give.

Admittedly the usage of "test" is confusing, but it's been standardized 
for decades and it's not something we'd lightly change. You can see the 
current standard here:

https://pubs.opengroup.org/onlinepubs/9799919799/utilities/test.html

and the relevant text says:

   1 argument:
       Exit true (0) if $1 is not null; otherwise, exit false.




Information forwarded to bug-coreutils@HIDDEN:
bug#72756; Package coreutils. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 22 Aug 2024 05:46:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 22 01:46:04 2024
Received: from localhost ([127.0.0.1]:36575 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sh0e2-0006Bn-H0
	for submit <at> debbugs.gnu.org; Thu, 22 Aug 2024 01:46:04 -0400
Received: from lists.gnu.org ([209.51.188.17]:54100)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <nathan.hays@HIDDEN>) id 1sgpEx-0002Sr-SV
 for submit <at> debbugs.gnu.org; Wed, 21 Aug 2024 13:35:25 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <nathan.hays@HIDDEN>)
 id 1sgpEE-0006V1-UP
 for bug-coreutils@HIDDEN; Wed, 21 Aug 2024 13:34:38 -0400
Received: from mail-mw2nam10on2072b.outbound.protection.outlook.com
 ([2a01:111:f403:2412::72b]
 helo=NAM10-MW2-obe.outbound.protection.outlook.com)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <nathan.hays@HIDDEN>)
 id 1sgpEB-0006A5-5G
 for bug-coreutils@HIDDEN; Wed, 21 Aug 2024 13:34:38 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cxHKamjyrRYBeWpt2EXtfQhNF2taULWe4u1aDN04n5KQy9fEBKE2SHw2YlD9Z2Y0Q5tjsEQrZGtwh+yvJoA3c+c/DIRPqGVKwN+Z4VqUoA/IHlk3u7lHOGkDZRWLdpA3hy9CSjNkcRxnPxYynkZtX74ERkP3P80MI48Qu+R9L0TIY5iJX1E/ivGtdLe81Hoc9WvZp2g+Y2dIkCmYpNiZim5O1K/bAC6RSSmubHJQ1NaHHevOmiPBL1hEDObCP9+Ozq6C6ALp00qRsWP/SGT0jhizllw7RkNJb12z3j2VdH+9ClINZZSo91SLUkDLijDZVS+b1uEoDPNss8Amkrv8SQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fwuMnXgXURpJ/t93XUkNzGom0yvpIcYyWuM/2oRGTjk=;
 b=q5VwrkUVAwBGQ+4hnFku77Y0LnsYxYfnFWqh8eSJMtOvYgBLE493+1bEbC2RC3FK5hWlMBe+RQLDNH0Vbxcg5pkBLHU4vJaWH9NUSkEWnTgWeTF7Ui7CMvKsO1fcpXS6/XD/E6V+BLiFdMLtzDei3Ke9jL6iwup/NSYez/he5BiBQzB0iotmdGI+Y7v1DcLzv6LV/PH+YP/y/YDVMfPXKbjIapoXeCZkAmlCn8qRopEF9jTMNEr7zHJm7lkQNNmjm/GRrhBZ+T7ckDpOPMhCWAh858BI3B0A/HiMT+VsXJ56EumHeQ99ADgGNxQFAlC8nG2X2zRljRypF9A6YLHaLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nccgroup.com; dmarc=pass action=none header.from=nccgroup.com;
 dkim=pass header.d=nccgroup.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nccgroup.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fwuMnXgXURpJ/t93XUkNzGom0yvpIcYyWuM/2oRGTjk=;
 b=i+6bmLNMfOebFKYoBv7KyI/mqsGmt61Y0C497/dDBZKyouyDVvEat6KoUW1KSWcF/w3limseSeGJjd8M/nTv8x/yHAzrROHfeVnnUeHH3SQs6ysDHTdXMGHHRNNYPgIddAWy0K6iOnQT1TFJ9vxj2DNBF7LH2c/4ASj6jwRm4lh2uHGLJyFmmn+w883yZwLgH39/XORHoszWWXjtDoyPssVorUSuCl0e6GOl11f7ZKwwekYgoSe0Ks127FwD5OWjsQrN3lTHc8EB+Z6wzXv/c0oMkTTR8ZAzTKkzYpvJLFezfSu2XGC/srVOFORLhVZ97yX1xE+H3emmUOkMUfCo4w==
Received: from DS0PR06MB9180.namprd06.prod.outlook.com (2603:10b6:8:12c::17)
 by MN6PR06MB10383.namprd06.prod.outlook.com (2603:10b6:208:4f6::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.21; Wed, 21 Aug
 2024 17:29:28 +0000
Received: from DS0PR06MB9180.namprd06.prod.outlook.com
 ([fe80::e567:a27a:c732:edcc]) by DS0PR06MB9180.namprd06.prod.outlook.com
 ([fe80::e567:a27a:c732:edcc%5]) with mapi id 15.20.7875.023; Wed, 21 Aug 2024
 17:29:27 +0000
From: Nathan Hays <nathan.hays@HIDDEN>
To: "bug-coreutils@HIDDEN" <bug-coreutils@HIDDEN>
Subject: Potential Bug/Vuln in test.c
Thread-Topic: Potential Bug/Vuln in test.c
Thread-Index: Adrz7RhxAQjb05+QRsaviHliotld4g==
Date: Wed, 21 Aug 2024 17:29:27 +0000
Message-ID: <DS0PR06MB9180436AF1B5A40153ED3750958E2@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nccgroup.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DS0PR06MB9180:EE_|MN6PR06MB10383:EE_
x-ms-office365-filtering-correlation-id: d0a7c385-204e-4841-9e2c-08dcc206cee4
campaign: C_Default
signature: S_NoSignature
disclaimer: D_NoDisclaimer
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info: =?iso-8859-1?Q?MguIRq2ATygNCOG6OIT3cmksAGZsChIDrCCbuMYMMqXOXnaBxQDtqc0tRn?=
 =?iso-8859-1?Q?HGgUFB9smg3WG0krJJgm+h6xci/kuOXgkghNQ1yLNwRCi3RpWuJyZrOiGU?=
 =?iso-8859-1?Q?6gPxTv7T4arlfpVRBI+eNhUnMwZhh+tl9mO2ff4xkeGWw8Q0F843Grruep?=
 =?iso-8859-1?Q?rwvU88EfF/x6jXzYsSDMUgZjLOVtWBYXRZ64ZiecYwksrBDhrNItW3yoIe?=
 =?iso-8859-1?Q?Dj0VTgSySwiq0Bf8Zq37J0tq6jLFcpv6w0VLColbm0+eaAQWxknXT4BJ2g?=
 =?iso-8859-1?Q?1gSX74yZOGy3kaFC85U8PwLg+oxQgg3D/8TlPYcUh60Te677/5d7jqw7Ww?=
 =?iso-8859-1?Q?RQ9ZcpQrQLB+WP7hdpueHEzeEbog7sN7EiT1CdBI+dwV8vF9xmN0QiSxP8?=
 =?iso-8859-1?Q?SKCDiXBjkfj65KbX8XDAvSIoVwDGgpMODaz1ArFkXWttvPKCRAWAb7/G+h?=
 =?iso-8859-1?Q?+htJwNE7lUnPvoHDrpZWEqusJF1QqtZx3kpCWUCSubUh0GU3cD6547J3tx?=
 =?iso-8859-1?Q?PGvWkBkuuM1rMFqyJVCrJO7rRQmiY0qRozYRVKbCLHvHUVu8Yy7MSBZdks?=
 =?iso-8859-1?Q?YHvK9NomAuks8ACSJZkxWqdkiztoNge73hyaLy/Vg+60nnj6Z92CbUyX32?=
 =?iso-8859-1?Q?BHCSQX+UPBkFHCWW67jnTgJJ/KCmyTp//PuTII7rj7XFyc/FAAtfH5ZI+b?=
 =?iso-8859-1?Q?DwB6/bDWHJAILcmIBX/W76aHAY2bK3n+rQ2Qv7PJ76AKY0zWlYpRaC6LAA?=
 =?iso-8859-1?Q?5jztBz6/5+hgu8Ev1N9KQFQUCELn/P04jLLZiU4yHK7QEn5iJAuYtaNm+1?=
 =?iso-8859-1?Q?yYKIZlV1UnXpe+2OXpbEnznSrfBA+D3u56dRGHpcQ8wFNqAMyNcBw9W+M9?=
 =?iso-8859-1?Q?FZ2EnznrW9jHB5KXVaIdoePQVbtBf7tGCyJTDl+ZxRNnk/N3M4uyVaI92K?=
 =?iso-8859-1?Q?IhB+bDqib4k8p/43PMbOHpCzSZyKVsJNOGUloOaCqB1PqmFiqR4NhqC8R6?=
 =?iso-8859-1?Q?k9ewlp3jUZVpD7Ms/wmPLI+/jz9Ux5j5lAlDdID1BFfwx+ZgmFTbttIM+z?=
 =?iso-8859-1?Q?ZUCjz7Rs0QKTc4QpqeYjYVOm4qFnxwajBksrBKBFLYedvXE9xufVqs+VG7?=
 =?iso-8859-1?Q?gZg+yQ/oFH+86A4uEvxHG0/j3vooczphvuAbMPtsem4psaoG4F8HHogbh9?=
 =?iso-8859-1?Q?z/pLvDS2ee2ImT58VrJrCZJvttnDDnRkOq32pAfqlE8sgIkKUY5Lc31Ma0?=
 =?iso-8859-1?Q?90G+FwWqlAftO4N2S7R2vL1p13JaUPcQ5dkbjF4rEXQ9NMSibaqGGix5lY?=
 =?iso-8859-1?Q?y98u5TXlYLw86FqSiXYsOP8kb5PbxXyrOAZn7MWeRTwx/pxEupgw+/WkDi?=
 =?iso-8859-1?Q?xNgdpig4xoZhSJoY5qtEKPjvscjHKkF73ZzHJM1qSA1gSgkDysCqEh269l?=
 =?iso-8859-1?Q?LxY5AQ+mNONEoXCzG+AVY3vki75yr50SKQY+pA=3D=3D?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DS0PR06MB9180.namprd06.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(376014)(1800799024)(366016)(38070700018); DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?PTPf1txBPIs4iVXXMDYaFylQRHxJvtK+g41AcbTRKaj7KCJuV+TuFCRRM+?=
 =?iso-8859-1?Q?mj1l/3kJHz5++PDwE95OMZqOOpwF/u8tV190dgejW7a0K9nCSlmv3T9eIc?=
 =?iso-8859-1?Q?wiBw4c2eIzl/hSan3NGslqhhnr/EIPsl8VCRABLggfm9aGUyHF66FveHaM?=
 =?iso-8859-1?Q?Ay4JoDXpoVkzyKX5FD6hWRUYwiqYtxT+zAd4Npz6/6Wsc21mXcDfeMJbXA?=
 =?iso-8859-1?Q?6uaMIXrRsD8bC7XncoYuIT3etn3GGKQz4YLVX2fkeqmmjWqbU8Dy5bV0h0?=
 =?iso-8859-1?Q?wRhl8KpIEDeROimnwd0+60rnX73u10EJJWEP7T05Mz848J0TiFWcXHrstu?=
 =?iso-8859-1?Q?gi9G14LCIlb58pQHbmWE5oyrmYpEi4W99d/WEarC/I+FJLAE4bUQYl16+o?=
 =?iso-8859-1?Q?T4gzixt20OBMG5aIaQ5zdKimqzpl1o182ZmF0p5mb73H5WOi9MVnv8IR7L?=
 =?iso-8859-1?Q?q0PnCk81ORHFBO3oZlxCGPlFLfFPBo7g/agWeneNkyUtKV+G+qkWaJsNAD?=
 =?iso-8859-1?Q?F6uBFpw3+3bgqBai7hlpJ4J9gBwUYbFrN7l97SYCQzIUlxUU0tFCvLxm13?=
 =?iso-8859-1?Q?CAnenUo6DMylOPOcEW0QmHcB6SgWnIybwR9pcvoeuRKXRoWq88jpjyCKZ2?=
 =?iso-8859-1?Q?ykLVKS2HiZh8hPCOgKcc+ks4SOliT1mFPQpywI0KUjCPzYTmKVs8f7Qo9S?=
 =?iso-8859-1?Q?cjEpUyiYNt1YHq/cPRMfo+aTqFDuZ+ARgtmigu4AnIayqFrTijWR4s31fG?=
 =?iso-8859-1?Q?wDynmcryRy8I3ZstmSiPUbBa5sIlcXiao6J/lBkkNdSgFOg+nTHAXahi1Y?=
 =?iso-8859-1?Q?HCf6ikN2oB/m+o8fZ7T6PHmeij6lLOva/H8oOyjttL51OxiR8ZWV/NxK5W?=
 =?iso-8859-1?Q?KBMf7yKSQnDLYumQTxBSduLemGpeHj52dhvYltQEJTrCtLwrty9UrUFctN?=
 =?iso-8859-1?Q?oQpfOA8bfKJOglZB/cxDRtojktz75y4bGLEubZ8W5PILONU3E/e0V6yOlW?=
 =?iso-8859-1?Q?SEMdC7kdm2tsiyZUho2oARd+LFEmTaMWkq6VwtJ63R6LkaJhrVTyouSB2L?=
 =?iso-8859-1?Q?1Y5aBrZruy0gjf+py3vIHIK8tmdi9JwrnUs241z50B9V6g+TMSSWexL4AH?=
 =?iso-8859-1?Q?NEb7dfUQ9gHJ/dbBZQ8QKM5RO/r1AXUFbcqXfMProfIqWd4ui1tyvEfHkB?=
 =?iso-8859-1?Q?EB2rSKxjM/nQrbHrxaiFMbDu7ZGJJmF9n883B9sZfbvl5OUQ+h58JmpjuM?=
 =?iso-8859-1?Q?hR5TYQaOdmNHNyZohYvHaAC3I6+XUxL6Wwgo83FiH47RXfeUb2ID05DYlB?=
 =?iso-8859-1?Q?GPoWvLRps1R6RJW0PBwotYGity5qZ+qDVIKRaJEOIc2EH5TYCtEXazcgyf?=
 =?iso-8859-1?Q?PaXt7Ahwz8LyO2vwCanFdD3TDxLlsI863xDf9buul3uNzkpyuZjlx0ugsg?=
 =?iso-8859-1?Q?zs2XXE1rcpo7XI50ae+FzaX3xLhFinM1FSbYbLWj9icSh7LCpw3cTssvm/?=
 =?iso-8859-1?Q?BQTtQWezEad7+mRrW/wYJeKIEhL0DrnFOP8pDQXpUTi2FsBVIbCeonPxov?=
 =?iso-8859-1?Q?S/cg6Ouku1InSOVfO950ofGPfYgSm9RkJpHKWdli/YghVrETTo6VxRwEDC?=
 =?iso-8859-1?Q?uG+9CESAUTu9Y70dNXbSHomQJ+eWg4ICjV?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nccgroup.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS0PR06MB9180.namprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0a7c385-204e-4841-9e2c-08dcc206cee4
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Aug 2024 17:29:27.6316 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a41111be-486b-45f6-8bd0-ee01a62f368e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: aFnuiAGj4lDhh3yCBrwVgwsCCATC4p7CPp49IUuGZaYVxU5kFLM4b/QmEepJgRt+mTNtlaWmN/RVpoSNwjNW+0ecyqm1oj94brLHYPElGQY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR06MB10383
Received-SPF: pass client-ip=2a01:111:f403:2412::72b;
 envelope-from=nathan.hays@HIDDEN;
 helo=NAM10-MW2-obe.outbound.protection.outlook.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Thu, 22 Aug 2024 01:46:01 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.4 (--)

# ENV #

Ubuntu 22.04 LTS=20
COREUTILS version 8.32-4.1ubuntu1.2

*Note could be specific to Ubuntu but I believe I confirmed in source*

# Observed Behavior #

Expectation:
`var=3D''; [ -n $var ]; echo $?` should NOT return `0`
Reality:
`var=3D''; [ -n $var ]; echo $?` returns `0`

*Note that this behavior does not persist when variable is quoted*=20

Test:
~~~bash
testvar=3D''
[ -n $testvar ]
echo -n unquote exit $?
[ -n "$testvar" ]
echo -n quote exit $?
[ -z $testvar ]
echo -z unquote exit $?
[ -z "$testvar" ]
echo -z quote exit $?
~~~

Result:
~~~bash
+ testvar=3D
+ '[' -n ']'
+ echo -n unquote exit 0
unquote exit 0+ '[' -n '' ']'
+ echo -n quote exit 1
quote exit 1+ '[' -z ']'
+ echo -z unquote exit 0
-z unquote exit 0
+ '[' -z '' ']'
+ echo -z quote exit 0
-z quote exit 0
~~~

# Relevant Code #

From `coreutils/src/test.c`:

lines 106-111:
~~~C
static void
unary_advance (void)
{
  advance (true);
  ++pos;
}
~~~

lines 512-514:
~~~C
    case 'n':			/* True if arg has some length. */
      unary_advance ();
      return argv[pos - 1][0] !=3D 0;
~~~


# What it looks to me that it's doing #

Based on my interpretation of the relevant code sections, which could be co=
mpletely wrong:
=20
`'[' -n ']'` moves to `']'` and checks if `']'` has a length of `[0]` and r=
eturns `0` if not (so always `0`, always `TRUE`)

This would explain why the behavior is not continued when the var is quoted=
:=20

`'[' -n '' ']'` moves to `''` and checks if `''` has a length of `[0]` and =
returns (not zero) correctly.

Oddly though, the `-z` argument appears to handle both situations correct d=
espite the code being similar.=20


# Word Around #=20

When using `-n` with `test` (or `[`), ensure variables are always quoted to=
 avoid a false positive when the variable is unset but unquoted.
Use `-z` exclusively instead.

This is my first time reporting anything like this so apologies in advance =
if formatting or other ways on how to pass on the information could be impr=
oved.=20

Nathan Hays | Principal Security Consultant | NCC Group PLC




Acknowledgement sent to Nathan Hays <nathan.hays@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-coreutils@HIDDEN. Full text available.
Report forwarded to bug-coreutils@HIDDEN:
bug#72756; Package coreutils. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 16 Feb 2025 07:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.