Paolo Bonzini <pbonz...@redhat.com> writes: > 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.
Read the patch once more :)