Skip to content
Snippets Groups Projects
Commit 9c14956c authored by Maria Fava's avatar Maria Fava
Browse files

applied modifications

parent 1998a2e6
No related branches found
No related tags found
1 merge request!2filepath
Pipeline #1562449 passed
...@@ -31,8 +31,7 @@ ADDHCmd::ADDHCmd() : ...@@ -31,8 +31,7 @@ ADDHCmd::ADDHCmd() :
char hostname[_SC_HOST_NAME_MAX]; char hostname[_SC_HOST_NAME_MAX];
gethostname(hostname, _SC_HOST_NAME_MAX); gethostname(hostname, _SC_HOST_NAME_MAX);
std::string hostnameString(hostname); std::string hostnameString(hostname);
this->m_filePathPrefix = Config::instance().getValue("outputDirPrefix", this->m_filePathPrefix = Config::instance().getValue("outputDirPrefix", "");
std::string());
} }
ADDHCmd::~ADDHCmd() {} ADDHCmd::~ADDHCmd() {}
...@@ -95,23 +94,27 @@ void ADDHCmd::commandReceived(ntof::dim::DIMCmd &cmdData) ...@@ -95,23 +94,27 @@ void ADDHCmd::commandReceived(ntof::dim::DIMCmd &cmdData)
bool ADDHCmd::isValidPath(const std::string &filePath, bool ADDHCmd::isValidPath(const std::string &filePath,
const std::string &m_filePathPrefix) const std::string &m_filePathPrefix)
{ {
bfs::path absPath = filePath; if (m_filePathPrefix != "")
if (filePath[0] != '/')
{ {
// filePath is relative, convert to m_filePathPrefix/filePath form bfs::path absPath = filePath;
absPath = m_filePathPrefix + "/" + filePath; if (filePath[0] != '/')
} {
try // filePath is relative, convert to m_filePathPrefix/filePath form
{ absPath = m_filePathPrefix + "/" + filePath;
absPath = bfs::canonical(absPath).string(); }
} try
catch (std::exception const &e) {
{ absPath = bfs::canonical(absPath).string();
// No such file or directory }
return false; catch (std::exception const &e)
{
// No such file or directory
return false;
}
return (absPath.string().compare(0, m_filePathPrefix.length(),
m_filePathPrefix) == 0);
} }
return (absPath.string().compare(0, m_filePathPrefix.length(), return true;
m_filePathPrefix) == 0);
} }
} // namespace addh } // namespace addh
......
...@@ -77,7 +77,7 @@ public: ...@@ -77,7 +77,7 @@ public:
void validatePathCheck() void validatePathCheck()
{ {
ADDHCmd *addhCmd_ = new ADDHCmd(); std::shared_ptr<ADDHCmd> addhCmd_(new ADDHCmd);
bfs::path correct_prefixed_path = m_correct_prefix_dir / "correct_path"; bfs::path correct_prefixed_path = m_correct_prefix_dir / "correct_path";
bfs::create_directories(correct_prefixed_path); bfs::create_directories(correct_prefixed_path);
...@@ -115,8 +115,6 @@ public: ...@@ -115,8 +115,6 @@ public:
EQ(false, EQ(false,
addhCmd_->isValidPath(correct_prefixed_path.string() + "/../..", addhCmd_->isValidPath(correct_prefixed_path.string() + "/../..",
m_correct_prefix_dir.string())); m_correct_prefix_dir.string()));
delete addhCmd_;
} }
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment