summaryrefslogtreecommitdiffstats
path: root/openbsd-compat
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2019-11-15 15:07:30 +1100
committerDamien Miller <djm@mindrot.org>2019-11-15 15:07:30 +1100
commitbb7413db98e418d4af791244660abf6c829783f5 (patch)
treeb0ed3f784866f4147ddc68548f6e745187653a9e /openbsd-compat
parent01362cf7cb979525c014714e2bccf799a46e772e (diff)
upstream commit
revision 1.39 date: 2012/01/20 07:09:42; author: tedu; state: Exp; lines: +4 -4; the glob stat limit is way too low. bump to 2048. while here, failed stats should count against the limit too. ok deraadt sthen stsp
Diffstat (limited to 'openbsd-compat')
-rw-r--r--openbsd-compat/glob.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/openbsd-compat/glob.c b/openbsd-compat/glob.c
index 7c97e67f..2166a71a 100644
--- a/openbsd-compat/glob.c
+++ b/openbsd-compat/glob.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: glob.c,v 1.38 2011/09/22 06:27:29 djm Exp $ */
+/* $OpenBSD: glob.c,v 1.39 2012/01/20 07:09:42 tedu Exp $ */
/*
* Copyright (c) 1989, 1993
* The Regents of the University of California. All rights reserved.
@@ -131,7 +131,7 @@ typedef char Char;
#define ismeta(c) (((c)&M_QUOTE) != 0)
#define GLOB_LIMIT_MALLOC 65536
-#define GLOB_LIMIT_STAT 128
+#define GLOB_LIMIT_STAT 2048
#define GLOB_LIMIT_READDIR 16384
/* Limit of recursion during matching attempts. */
@@ -639,8 +639,6 @@ glob2(Char *pathbuf, Char *pathbuf_last, Char *pathend, Char *pathend_last,
for (anymeta = 0;;) {
if (*pattern == EOS) { /* End of pattern? */
*pathend = EOS;
- if (g_lstat(pathbuf, &sb, pglob))
- return(0);
if ((pglob->gl_flags & GLOB_LIMIT) &&
limitp->glim_stat++ >= GLOB_LIMIT_STAT) {
@@ -649,6 +647,8 @@ glob2(Char *pathbuf, Char *pathbuf_last, Char *pathend, Char *pathend_last,
*pathend = EOS;
return(GLOB_NOSPACE);
}
+ if (g_lstat(pathbuf, &sb, pglob))
+ return(0);
if (((pglob->gl_flags & GLOB_MARK) &&
pathend[-1] != SEP) && (S_ISDIR(sb.st_mode) ||