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