Fixed bug at checking error code from file stat

This commit is contained in:
Sansar Choinyambuu
2011-11-28 14:34:20 +01:00
committed by Andreas Steffen
parent 3e951334a2
commit 9032e61b88
+7 -8
View File
@@ -273,29 +273,28 @@ static char* get_filename(char *pathname)
METHOD(pts_t, is_path_valid, bool, private_pts_t *this, char *path, METHOD(pts_t, is_path_valid, bool, private_pts_t *this, char *path,
pts_error_code_t *error_code) pts_error_code_t *error_code)
{ {
int error;
struct stat st; struct stat st;
*error_code = 0; *error_code = 0;
error = stat(path, &st);
if (error == 0) if (!stat(path, &st))
{ {
return TRUE; return TRUE;
} }
else if (error == ENOENT || error == ENOTDIR) else if (errno == ENOENT || errno == ENOTDIR)
{ {
DBG1(DBG_PTS, "file/directory does not exist %s", path); DBG1(DBG_PTS, "file/directory does not exist %s", path);
*error_code = TCG_PTS_FILE_NOT_FOUND; *error_code = TCG_PTS_FILE_NOT_FOUND;
} }
else if (error == EFAULT) else if (errno == EFAULT)
{ {
DBG1(DBG_PTS, "bad address %s", path); DBG1(DBG_PTS, "bad address %s", path);
*error_code = TCG_PTS_INVALID_PATH; *error_code = TCG_PTS_INVALID_PATH;
} }
else else
{ {
DBG1(DBG_PTS, "error: %s occurred while validating path: %s", DBG1(DBG_PTS, "error: %s occured while validating path: %s",
strerror(error), path); strerror(errno), path);
return FALSE; return FALSE;
} }