[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxl: check return values of read/write
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1307031970 -3600 # Node ID 9cdc500fd358189e7923cc7b0502d86e9563d073 # Parent c09a6c9a99e820968a9b697bff1ba62ac102532d libxl: check return values of read/write Some distros enable -D_FORTIFY_SOURCE=2 by default (https://wiki.ubuntu.com/CompilerFlags) which adds the warn_unused_result attribute to several functions including read(2) and write(2) Although we don't really care about error reading or writing the libxl spawn fd catch them anyway to keep this warning happy. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Tested-by: Olaf Hering <olaf@xxxxxxxxx> Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- diff -r c09a6c9a99e8 -r 9cdc500fd358 tools/libxl/libxl_device.c --- a/tools/libxl/libxl_device.c Thu Jun 02 17:25:27 2011 +0100 +++ b/tools/libxl/libxl_device.c Thu Jun 02 17:26:10 2011 +0100 @@ -485,7 +485,9 @@ } if (starting && FD_ISSET(starting->for_spawn->fd, &rfds)) { unsigned char dummy; - read(starting->for_spawn->fd, &dummy, sizeof(dummy)); + if (read(starting->for_spawn->fd, &dummy, sizeof(dummy)) != 1) + LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_DEBUG, + "failed to read spawn status pipe"); } } } diff -r c09a6c9a99e8 -r 9cdc500fd358 tools/libxl/libxl_exec.c --- a/tools/libxl/libxl_exec.c Thu Jun 02 17:25:27 2011 +0100 +++ b/tools/libxl/libxl_exec.c Thu Jun 02 17:26:10 2011 +0100 @@ -220,8 +220,10 @@ rc = (WIFEXITED(status) ? WEXITSTATUS(status) : WIFSIGNALED(status) && WTERMSIG(status) < 127 ? WTERMSIG(status)+128 : -1); - if (for_spawn) - write(pipes[1], &dummy, sizeof(dummy)); + if (for_spawn) { + if (write(pipes[1], &dummy, sizeof(dummy)) != 1) + perror("libxl__spawn_spawn: unable to signal child exit to parent"); + } _exit(rc); err_parent_pipes: _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |