mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-03 07:48:14 +02:00
Ensure hyphen/minus is treated as literal in regexes
Each U+002D HYPHEN-MINUS in [0-9A-Za-z_-/.\] is treated as a member of a range. The third one, which appears to have been intended to be a literal, is part of an empty range because the starting point U+005F LOW LINE is greater than the endpoint U+002F SOLIDUS, resulting in at least some grep implementations not considering U+002D, U+002F or U+005F to match the pattern. This resulted in one of the dbus-launch tests being unintentionally skipped when it used a regex based on the one in the spec. regex(7) suggests "To include a literal '-' [in a bracketed character set], make it the first or last character". Signed-off-by: Simon McVittie <smcv@collabora.com> Reviewed-by: Philip Withnall <withnall@endlessm.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=100686
This commit is contained in:
parent
ef628c3b0a
commit
01019f2bb4
2 changed files with 2 additions and 2 deletions
|
|
@ -3097,7 +3097,7 @@
|
|||
<listitem>
|
||||
<para>
|
||||
The set of optionally-escaped bytes is:
|
||||
<literal>[0-9A-Za-z_-/.\]</literal>. To escape, each
|
||||
<literal>[-0-9A-Za-z_/.\]</literal>. To escape, each
|
||||
<emphasis>byte</emphasis> (note, not character) which is not in the
|
||||
set of optionally-escaped bytes must be replaced with an ASCII
|
||||
percent (<literal>%</literal>) and the value of the byte in hex.
|
||||
|
|
|
|||
|
|
@ -198,7 +198,7 @@ test_xdg_runtime_dir () {
|
|||
export XDG_RUNTIME_DIR="$workdir"
|
||||
fake_uuid="ffffffffffffffffffffffffffffffff"
|
||||
|
||||
if echo "$workdir" | grep '[^0-9A-Za-z_-/.]'; then
|
||||
if echo "$workdir" | grep '[^-0-9A-Za-z_/.]'; then
|
||||
test_num=$(($test_num + 1))
|
||||
echo "ok ${test_num} # SKIP - $workdir would need escaping"
|
||||
return
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue