Merge pull request #549 from www220/fix

[DFS] fix the fd_put issue in mkdir and lseek error case.
This commit is contained in:
Bernard Xiong 2015-09-12 10:53:04 +08:00
commit 811a2ead68
1 changed files with 4 additions and 0 deletions

View File

@ -230,6 +230,7 @@ off_t lseek(int fd, off_t offset, int whence)
break; break;
default: default:
fd_put(d);
rt_set_errno(-DFS_STATUS_EINVAL); rt_set_errno(-DFS_STATUS_EINVAL);
return -1; return -1;
@ -237,6 +238,7 @@ off_t lseek(int fd, off_t offset, int whence)
if (offset < 0) if (offset < 0)
{ {
fd_put(d);
rt_set_errno(-DFS_STATUS_EINVAL); rt_set_errno(-DFS_STATUS_EINVAL);
return -1; return -1;
@ -457,6 +459,7 @@ int mkdir(const char *path, mode_t mode)
if (result < 0) if (result < 0)
{ {
fd_put(d);
fd_put(d); fd_put(d);
rt_set_errno(result); rt_set_errno(result);
@ -465,6 +468,7 @@ int mkdir(const char *path, mode_t mode)
dfs_file_close(d); dfs_file_close(d);
fd_put(d); fd_put(d);
fd_put(d);
return 0; return 0;
} }