From fec95a8ace000b2d805bd20c24d28f24b705256b Mon Sep 17 00:00:00 2001 From: Jason Perkins Date: Sun, 29 Jun 2014 09:59:35 -0400 Subject: Fix Issue #242: Recursive deletion in os.rmdir() goes up to root level on Windows 7 (Ben Henning) --- src/base/os.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/base/os.lua b/src/base/os.lua index bc33451..9332072 100644 --- a/src/base/os.lua +++ b/src/base/os.lua @@ -192,9 +192,10 @@ while (os.matchnext(m)) do local isfile = os.matchisfile(m) if ((wantfiles and isfile) or (not wantfiles and not isfile)) then - local fname = path.join(basedir, os.matchname(m)) - if fname:match(mask) == fname then - table.insert(result, fname) + local basename = os.matchname(m) + local fullname = path.join(basedir, basename) + if basename ~= ".." and fullname:match(mask) == fullname then + table.insert(result, fullname) end end end -- cgit v1.2.3