summaryrefslogtreecommitdiff
path: root/src/editor/simple/upload.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'src/editor/simple/upload.cgi')
-rw-r--r--src/editor/simple/upload.cgi16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/editor/simple/upload.cgi b/src/editor/simple/upload.cgi
index 18d584b54..3da386dd6 100644
--- a/src/editor/simple/upload.cgi
+++ b/src/editor/simple/upload.cgi
@@ -162,11 +162,17 @@ case "$REQUEST_METHOD" in
if [ -d "$path" ] ; then
ContentType="text/plain; charset=$charset"
cgiheaders
- cd "$path"
- shopt -s nullglob
- rm *.gf *.gfo *-*.json *.pgf grammars.cgi
- cd ..
- rmdir "$path"
+ if [ -h "$path" ] ; then
+ cd "$path"
+ cd ..
+ rm "$path"
+ else
+ cd "$path"
+ shopt -s nullglob
+ rm *.gf *.gfo *-*.json *.pgf grammars.cgi
+ cd ..
+ rmdir "$path"
+ fi
newdir=$(qparse "$QUERY_STRING" newdir)
case "$newdir" in
/tmp/gfse.*) # shouldn't allow .. in path !!!