--- util.c 2009-03-02 22:57:56.000000000 +0100 +++ util.c.new 2009-03-02 22:57:50.000000000 +0100 @@ -1205,7 +1205,7 @@ for (name = src; (slash = strchr(name, '/')) != 0; name = slash+1) { if (strncmp(name, "../", 3) == 0) { depth = 0; - } else if (strncmp(name, "./", 2) == 0) { + } else if ((strncmp(name, "./", 2) == 0) || (strncmp(name, "/", 1) == 0)) { /* nothing */ } else { depth++; @@ -1220,7 +1220,7 @@ then stop - it is unsafe */ if (--depth < 0) return 1; - } else if (strncmp(name, "./", 2) == 0) { + } else if ((strncmp(name, "./", 2) == 0) || (strncmp(name, "/", 1) == 0)) { /* nothing */ } else { depth++;