Your message dated Thu, 21 Mar 2024 21:46:57 +0100
with message-id <[email protected]>
and subject line Re: Bug#443685: bash: Quote removal happening too early
has caused the Debian Bug report #443685,
regarding bash: Quote removal happening too early
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
443685: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=443685
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: bash
Version: 2.05b-26
Severity: normal
$ bash -o posix -c 'a=\\; echo $a\/*'
/bin /boot /cdrom /dev /emul /etc /export /home /initrd /lib /lib64 /lost+found
/media /mnt /opt /proc /root /sbin /srv /sys /tmp /usr /var
$
According to POSIX, pathname expansion shall occur prior to
quote removal. So given that $a\/* has at least two backslashes
in it, it should produce at least a literal backslash in the
pattern for pathname expansion which is clearly not the case
looking at the result.
The only conclusion is that bash must have removed the quote
before the forward slash prior to pathname expansion which is
contrary to the POSIX specification.
-- System Information
Debian Release: 3.1
Kernel Version: Linux gondolin 2.6.17-rc4 #1 SMP PREEMPT Wed May 17 17:28:00
EST 2006 i686 GNU/Linux
Versions of the packages bash depends on:
ii base-files 3.1.2 Debian base system miscellaneous files
ii libc6 2.3.2.ds1-22sa GNU C Library: Shared libraries and Timezone
ii libncurses5 5.4-4 Shared libraries for terminal handling
ii passwd 4.0.3-31sarge5 change and administer password and group dat
--- End Message ---
--- Begin Message ---
Version: 5.0-6
On Sun, 23 Sep 2007 19:55:27 +0800 <[email protected]> wrote:
Package: bash
Version: 2.05b-26
Severity: normal
$ bash -o posix -c 'a=\\; echo $a\/*'
/bin /boot /cdrom /dev /emul /etc /export /home /initrd /lib /lib64 /lost+found
/media /mnt /opt /proc /root /sbin /srv /sys /tmp /usr /var
$
According to POSIX, pathname expansion shall occur prior to
quote removal. So given that $a\/* has at least two backslashes
in it, it should produce at least a literal backslash in the
pattern for pathname expansion which is clearly not the case
looking at the result.
This issue does not seem to affect version 5.0-6 and later of bash.
$ $ bash -o posix -c 'a=\\; echo $a\/*'
\/*
Please reopen this bug if you can still replicate this issue.
Regards,
--
Gioele Barabucci
--- End Message ---