[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <59916AB3.1010001@iogearbox.net>
Date: Mon, 14 Aug 2017 11:17:39 +0200
From: Daniel Borkmann <daniel@...earbox.net>
To: Phil Sutter <phil@....cc>,
Stephen Hemminger <stephen@...workplumber.org>
CC: netdev@...r.kernel.org
Subject: Re: [iproute PATCH 51/51] lib/bpf: Check return value of write()
On 08/12/2017 02:05 PM, Phil Sutter wrote:
> This is merely to silence the compiler warning. If write to stderr
> failed, assume that printing an error message will fail as well so don't
> even try.
>
> Signed-off-by: Phil Sutter <phil@....cc>
> ---
> lib/bpf.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/bpf.c b/lib/bpf.c
> index 1dcb261dc915f..825e071cea572 100644
> --- a/lib/bpf.c
> +++ b/lib/bpf.c
> @@ -591,7 +591,8 @@ int bpf_trace_pipe(void)
>
> ret = read(fd, buff, sizeof(buff) - 1);
> if (ret > 0) {
> - write(2, buff, ret);
> + if (write(STDERR_FILENO, buff, ret) != ret)
> + return -1;
Quite unlikely to fail, but we should probably bark loudly
here instead of just returning -1. Perhaps assert() would
suit better.
> fflush(stderr);
> }
> }
>
Powered by blists - more mailing lists