From: Daniel P. Berrange Date: Fri, 10 May 2013 13:45:05 +0000 (+0100) Subject: Fix iohelper usage with streams opened for read X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=a2214c5257d3bd7b086ce04aca1648e8ff05ee96;p=libvirt.git Fix iohelper usage with streams opened for read In b2878ed860ceceec3cd6481424fed0b543b687cd we added the O_NOCTTY flag when opening files in the stream code. Unfortunately a later piece of code was comparing the flags == O_RDONLY, without masking out the non-access mode flags. This broke the iohelper when used with streams for read, since it caused us to attach the stream output pipe to the stream input FD instead of output FD :-( Signed-off-by: Daniel P. Berrange --- diff --git a/src/fdstream.c b/src/fdstream.c index 6f8ce530af..a9a4851dd3 100644 --- a/src/fdstream.c +++ b/src/fdstream.c @@ -641,7 +641,7 @@ virFDStreamOpenFileInternal(virStreamPtr st, virCommandTransferFD(cmd, fd); virCommandAddArgFormat(cmd, "%d", fd); - if (oflags == O_RDONLY) { + if ((oflags & O_ACCMODE) == O_RDONLY) { childfd = fds[1]; fd = fds[0]; virCommandSetOutputFD(cmd, &childfd);