Hi, thanks for you reply. 2012/9/5 Paolo Bonzini <pbonz...@redhat.com>: > 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. > If we call mkstemp() successfully, but failed to close(fd), in this case, the temporafy file will not be deleted even if QEMU exits. > Paolo
-- Best Regards, Dunrong Huang