Merge pull request #549 from www220/fix
[DFS] fix the fd_put issue in mkdir and lseek error case.
This commit is contained in:
commit
811a2ead68
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue