From: William A. Rowe Jr Date: Fri, 22 Mar 2002 05:52:16 +0000 (+0000) Subject: Err, that was a bit redundant. Eliminate the redundant test [and clean X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=218e3b69f09dc890051961c8d4c59c5f6f6396af;p=apache Err, that was a bit redundant. Eliminate the redundant test [and clean up some tabs I inadvertantly introduced.] git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94118 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/gen_test_char.c b/server/gen_test_char.c index 9b62163e87..946bb7bb0a 100644 --- a/server/gen_test_char.c +++ b/server/gen_test_char.c @@ -102,14 +102,6 @@ int main(int argc, char *argv[]) printf("\n "); /* escape_shell_cmd */ - if (strchr("&;`'\"|*?~<>^()[]{}$\\\n", c)) { - flags |= T_ESCAPE_SHELL_CMD; - } - - if (!apr_isalnum(c) && !strchr("$-_.+!*'(),:@&=~", c)) { - flags |= T_ESCAPE_PATH_SEGMENT; - } - #if defined(WIN32) || defined(OS2) /* Win32/OS2 have many of the same vulnerable characters * as Unix sh, plus the carriage return and percent char. @@ -118,16 +110,22 @@ int main(int argc, char *argv[]) * and neither lf nor cr can be escaped. We escape unix * specific as well, to assure that cross-compiled unix * applications behave similiarly when invoked on win32/os2. + * + * Rem please keep in-sync with apr's list in win32/filesys.c */ if (strchr("&;`'\"|*?~<>^()[]{}$\\\n\r%", c)) { - flags |= T_ESCAPE_SHELL_CMD; - } + flags |= T_ESCAPE_SHELL_CMD; + } #else if (strchr("&;`'\"|*?~<>^()[]{}$\\\n", c)) { - flags |= T_ESCAPE_SHELL_CMD; - } + flags |= T_ESCAPE_SHELL_CMD; + } #endif + if (!apr_isalnum(c) && !strchr("$-_.+!*'(),:@&=~", c)) { + flags |= T_ESCAPE_PATH_SEGMENT; + } + if (!apr_isalnum(c) && !strchr("$-_.+!*'(),:@&=/~", c)) { flags |= T_OS_ESCAPE_PATH; }