aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0042-fix-glob-failure-to-match-plain-to-root-directory.patch
blob: cc9166248e85dd88ed80a9236aa2114fbcfdca6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From 84eff797e3e38210cc311b000b1586b948b4fc35 Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Thu, 8 Jun 2017 19:50:23 -0400
Subject: [PATCH] fix glob failure to match plain "/" to root directory

the check to prevent matching empty string wrongly blocked matching
of "/" due to checking emptiness after stripping leading slashes
rather than checking the full original argument string.

simplified from patch by Julien Ramseier.
---
 src/regex/glob.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/regex/glob.c b/src/regex/glob.c
index 5b6ff124..2d4d562e 100644
--- a/src/regex/glob.c
+++ b/src/regex/glob.c
@@ -179,7 +179,7 @@ int glob(const char *restrict pat, int flags, int (*errfunc)(const char *path, i
 
 	if (strnlen(p, PATH_MAX+1) > PATH_MAX) return GLOB_NOSPACE;
 
-	if (*p) error = match_in_dir(d, p, flags, errfunc, &tail);
+	if (*pat) error = match_in_dir(d, p, flags, errfunc, &tail);
 	if (error == GLOB_NOSPACE) {
 		freelist(&head);
 		return error;
-- 
2.13.0