From: Koushik Chakravarty Date: Thu, 19 Mar 2015 05:51:15 +0000 (+0000) Subject: tools/libxl: close the logfile_w and null file descriptors in libxl__spawn_qdisk_back... X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3566 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=eb84b068f9ffd9684a61d8a7e93f71ff3ff1e53b;p=xen.git tools/libxl: close the logfile_w and null file descriptors in libxl__spawn_qdisk_backend() error path Signed-off-by: Koushik Chakravarty CC: Ian Jackson CC: Stefano Stabellini CC: Ian Campbell CC: Wei Liu Acked-by: Wei Liu --- diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index fc88d68227..e8fe73d833 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -1527,7 +1527,7 @@ void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *dmss) flexarray_t *dm_args; char **args; const char *dm; - int logfile_w, null, rc; + int logfile_w, null = -1, rc; uint32_t domid = dmss->guest_domid; /* Always use qemu-xen as device model */ @@ -1553,6 +1553,10 @@ void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *dmss) goto error; } null = open("/dev/null", O_RDONLY); + if (null < 0) { + rc = ERROR_FAIL; + goto error; + } dmss->guest_config = NULL; /* @@ -1587,6 +1591,8 @@ void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *dmss) error: assert(rc); + if (logfile_w >= 0) close(logfile_w); + if (null >= 0) close(null); dmss->callback(egc, dmss, rc); return; }