2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Made string literal static std::string in
	util::detectDirTraversal().
	* src/util.cc
pull/1/head
Tatsuhiro Tsujikawa 2010-10-02 08:29:15 +00:00
parent d5e0046f29
commit 29d40a666f
2 changed files with 23 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made string literal static std::string in
util::detectDirTraversal().
* src/util.cc
2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten util::escapePath(). Now it does not replace bad chars:it

View File

@ -1335,16 +1335,25 @@ bool detectDirTraversal(const std::string& s)
return true;
}
}
static std::string DS = "./";
static std::string DDS = "../";
static std::string SD = "/.";
static std::string SDD = "/..";
static std::string SDDS = "/../";
static std::string SDS = "/./";
static std::string DD = "..";
return s == A2STR::DOT_C ||
s == ".." ||
s == DD ||
util::startsWith(s, A2STR::SLASH_C) ||
util::startsWith(s, "./") ||
util::startsWith(s, "../") ||
s.find("/../") != std::string::npos ||
s.find("/./") != std::string::npos ||
util::endsWith(s, "/") ||
util::endsWith(s, "/.") ||
util::endsWith(s, "/..");
util::startsWith(s, DS) ||
util::startsWith(s, DDS) ||
s.find(SDDS) != std::string::npos ||
s.find(SDS) != std::string::npos ||
util::endsWith(s, A2STR::SLASH_C) ||
util::endsWith(s, SD) ||
util::endsWith(s, SDD);
}
std::string escapePath(const std::string& s)