提交 b10ae320 编写于 作者: B Bodo Möller

this time *really* fix the /../ check ...

上级 5d3ab9b0
...@@ -1436,9 +1436,6 @@ static int www_body(char *hostname, int s, unsigned char *context) ...@@ -1436,9 +1436,6 @@ static int www_body(char *hostname, int s, unsigned char *context)
switch (dot) switch (dot)
{ {
case 0:
dot = (e[0] == '/') ? 1 : 0;
break;
case 1: case 1:
dot = (e[0] == '.') ? 2 : 0; dot = (e[0] == '.') ? 2 : 0;
break; break;
...@@ -1449,6 +1446,8 @@ static int www_body(char *hostname, int s, unsigned char *context) ...@@ -1449,6 +1446,8 @@ static int www_body(char *hostname, int s, unsigned char *context)
dot = (e[0] == '/') ? -1 : 0; dot = (e[0] == '/') ? -1 : 0;
break; break;
} }
if (dot == 0)
dot = (e[0] == '/') ? 1 : 0;
} }
dot = (dot == 3) || (dot == -1); /* filename contains ".." component */ dot = (dot == 3) || (dot == -1); /* filename contains ".." component */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册