From 007c77d92d6d761f020f0620b78e769f220cc22a Mon Sep 17 00:00:00 2001 From: Theo de Raadt Date: Mon, 1 Jul 2024 18:43:51 +0000 Subject: missing save_errno dance inside non-terminal signal handler --- usr.bin/bgplg/misc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'usr.bin') diff --git a/usr.bin/bgplg/misc.c b/usr.bin/bgplg/misc.c index fc5665f9737..bf7f714865c 100644 --- a/usr.bin/bgplg/misc.c +++ b/usr.bin/bgplg/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.8 2017/12/18 09:12:49 job Exp $ */ +/* $OpenBSD: misc.c,v 1.9 2024/07/01 18:43:50 deraadt Exp $ */ /* * Copyright (c) 2005, 2006 Reyk Floeter @@ -79,10 +79,13 @@ lg_help(struct cmd *cmds, char **argv) void lg_sig_alarm(int sig) { + int save_errno = errno; + if (child != -1) { /* Forcibly kill the child, no excuse... */ kill(child, SIGKILL); } + errno = save_errno; } int -- cgit v1.2.3