From 628d2f4f8a4c02b834646a0f601586c55e116510 Mon Sep 17 00:00:00 2001 From: "Barton E. Schaefer" Date: Fri, 27 Feb 2015 10:10:19 -0800 Subject: 34634: avoid infinite recursion on (/)# extendedglob --- ChangeLog | 4 ++++ Src/glob.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 1e71a09f3..4329a42ee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2015-02-27 Barton E. Schaefer + + * 34634: Src/glob.c: avoid infinite recursion on (/)# extendedglob + 2015-02-27 Daniel Shahaf * 34588: Completion/Unix/Command/_user_admin: Complete diff --git a/Src/glob.c b/Src/glob.c index 82f8d626c..33facde2b 100644 --- a/Src/glob.c +++ b/Src/glob.c @@ -708,7 +708,8 @@ parsecomplist(char *instr) } l1 = (Complist) zhalloc(sizeof *l1); l1->pat = p1; - l1->closure = 1 + pdflag; + /* special case (/)# to avoid infinite recursion */ + l1->closure = (*((char *)p1 + p1->startoff)) ? 1 + pdflag : 0; l1->follow = 0; l1->next = parsecomplist(instr); return (l1->pat) ? l1 : NULL; -- cgit 1.4.1