diff --git a/src/ConfigurationFile.cpp b/src/ConfigurationFile.cpp index 6ee68726242deec9a8415f7d8ddd91ac1ff9c182..dd516595975bbb0157522cf309412e867c5fc8a5 100644 --- a/src/ConfigurationFile.cpp +++ b/src/ConfigurationFile.cpp @@ -21,6 +21,7 @@ #include <unistd.h> #include <string> #include <algorithm> +#include <sstream> using namespace PacketLib; @@ -54,7 +55,13 @@ bool ConfigurationFile::open(char** parameters) throw(PacketExceptionIO*) void ConfigurationFile::close() throw(PacketExceptionIO*) { InputTextFile::close(); - chdir(currentpwd); + int retval = chdir(currentpwd); + if(retval == -1) + { + std::stringstream ss; + ss << "Invalid chdir on '" << currentpwd << "'" << std::endl; + throw PacketExceptionIO(ss.str().c_str()); + } }