From dc207f669675a271812a21b0ddbe3b894adf8e4c Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 16 Feb 2017 20:04:19 +0100 Subject: udhcp: do not clobber errno by signal handler Signed-off-by: Denys Vlasenko --- networking/udhcp/signalpipe.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/networking/udhcp/signalpipe.c b/networking/udhcp/signalpipe.c index 6355c5e90..30bccd6bf 100644 --- a/networking/udhcp/signalpipe.c +++ b/networking/udhcp/signalpipe.c @@ -25,9 +25,11 @@ static struct fd_pair signal_pipe; static void signal_handler(int sig) { + int sv = errno; unsigned char ch = sig; /* use char, avoid dealing with partial writes */ if (write(signal_pipe.wr, &ch, 1) != 1) bb_perror_msg("can't send signal"); + errno = sv; } /* Call this before doing anything else. Sets up the socket pair -- cgit v1.2.1