[backfire] merge r20885
[openwrt-10.03/.git] / package / uhttpd / src / uhttpd-utils.c
index e65f2136d64fce7b8518087eb4295e2bf22b2f3a..96c0b82cda5d3c79e0a419cd67579caccebbf0fa 100644 (file)
@@ -420,8 +420,9 @@ static char * canonpath(const char *path, char *path_resolved)
                                }
 
                                /* collapse /x/../ */
-                               else if( path_cpy[2] == '.' )
-                               {
+                               else if( (path_cpy[2] == '.') &&
+                                        ((path_cpy[3] == '/') || (path_cpy[3] == '\0'))
+                               ) {
                                        while( (path_res > path_resolved) && (*--path_res != '/') )
                                                ;