diff --git a/src/sbbs3/wrappers.c b/src/sbbs3/wrappers.c index e696060901d10762e03a954f42a264e0387f2302..7bdbce855c77af2e8cb76d030e3b44f3afa873a4 100644 --- a/src/sbbs3/wrappers.c +++ b/src/sbbs3/wrappers.c @@ -296,9 +296,12 @@ char* _fullpath(char* absPath, const char* relPath, size_t maxLength) } getcwd(curdir, PATH_MAX); - chdir(relPath); - getcwd(absPath, maxLength); - chdir(curdir); + if(chdir(relPath)!=0) /* error, invalid dir */ + strcpy(absPath,relPath); + else { + getcwd(absPath, maxLength); + chdir(curdir); + } free(curdir); return absPath;