[lxc-devel] [PATCH] fortify: check the value returned from write(2)
Serge Hallyn
serge.hallyn at ubuntu.com
Tue Apr 16 02:27:03 UTC 2013
Quoting Dwight Engen (dwight.engen at oracle.com):
> Also check that we wrote the amount we expected to. The write on the pty
> is blocking but we could still get a short write on EINTR, so we should
> SYSERROR it.
>
> Signed-off-by: Dwight Engen <dwight.engen at oracle.com>
Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>
> ---
> src/lxc/lxc_console.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/src/lxc/lxc_console.c b/src/lxc/lxc_console.c
> index 3dd2155..643c442 100644
> --- a/src/lxc/lxc_console.c
> +++ b/src/lxc/lxc_console.c
> @@ -165,14 +165,18 @@ static int master_handler(int fd, void *data,
> struct lxc_epoll_descr *descr) {
> char buf[1024];
> int *peer = (int *)data;
> - int r;
> + int r,w;
>
> r = read(fd, buf, sizeof(buf));
> if (r < 0) {
> SYSERROR("failed to read");
> return 1;
> }
> - r = write(*peer, buf, r);
> + w = write(*peer, buf, r);
> + if (w < 0 || w != r) {
> + SYSERROR("failed to write");
> + return 1;
> + }
>
> return 0;
> }
> --
> 1.7.12.3
>
>
> ------------------------------------------------------------------------------
> Precog is a next-generation analytics platform capable of advanced
> analytics on semi-structured data. The platform includes APIs for building
> apps and a phenomenal toolset for data science. Developers can use
> our toolset for easy data analysis & visualization. Get a free account!
> http://www2.precog.com/precogplatform/slashdotnewsletter
> _______________________________________________
> Lxc-devel mailing list
> Lxc-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxc-devel
More information about the lxc-devel
mailing list