On 18 August 2014 09:00, zhanghailiang<address@hidden> wrote:
From: Li Liu<address@hidden>
fopen() may return NULL which will cause setbuf() segmentfault
Signed-off-by: zhanghailiang<address@hidden>
Signed-off-by: Li Liu<address@hidden>
---
block/vvfat.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/vvfat.c b/block/vvfat.c
index 70176b1..62023e1 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -1084,6 +1084,7 @@ static int vvfat_open(BlockDriverState *bs, QDict
*options, int flags,
DLOG(if (stderr == NULL) {
stderr = fopen("vvfat.log", "a");
+ assert(stderr);
setbuf(stderr, NULL);
})
An assertion is no better than a segfault.
Better I think would be to just remove this whole lump of code
entirely. Lots of other files do debug printing to stderr without
attempting to open a file if stderr happens to be NULL, why
should vvfat.c be special?