Il 05/09/2012 15:26, riegama...@gmail.com ha scritto:
> From: Dunrong Huang <riegama...@gmail.com>
> 
> The caller would not delete temporary file after failed get_tmp_filename().
> 
> Signed-off-by: Dunrong Huang <riegama...@gmail.com>
> ---
>  block.c | 6 +++++-
>  1 个文件被修改,插入 5 行(+),删除 1 行(-)
> 
> diff --git a/block.c b/block.c
> index 074987e..2bc9f75 100644
> --- a/block.c
> +++ b/block.c
> @@ -433,7 +433,11 @@ int get_tmp_filename(char *filename, int size)
>          return -EOVERFLOW;
>      }
>      fd = mkstemp(filename);
> -    if (fd < 0 || close(fd)) {
> +    if (fd < 0) {
> +        return -errno;
> +    }
> +    if (close(fd) != 0) {
> +        unlink(filename);
>          return -errno;
>      }
>      return 0;
> 

Not necessary, mkstemp will not create a file if it returns an error.

Paolo

Reply via email to