From e1c359c869184bdb361d0321c23f27704da6fcfb Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 2 Jun 2020 22:12:13 -0700 Subject: [PATCH] patching unchecked setuid in ping.c and ping6.c --- ping/ping.c | 3 ++- ping/ping6.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ping/ping.c b/ping/ping.c index 5c3b9a47..70353f47 100644 --- a/ping/ping.c +++ b/ping/ping.c @@ -293,7 +293,8 @@ main (int argc, char **argv) ping_set_sockopt (ping, SO_BROADCAST, (char *) &one, sizeof (one)); /* Reset root privileges */ - setuid (getuid ()); + if (setuid (getuid ()) != 0) + exit (EXIT_FAILURE); /* Force line buffering regardless of output device. */ setvbuf (stdout, NULL, _IOLBF, 0); diff --git a/ping/ping6.c b/ping/ping6.c index 8b31a9b2..aae3ff63 100644 --- a/ping/ping6.c +++ b/ping/ping6.c @@ -252,7 +252,8 @@ main (int argc, char **argv) setsockopt (ping->ping_fd, SOL_SOCKET, SO_BROADCAST, (char *) &one, sizeof (one)); /* Reset root privileges */ - setuid (getuid ()); + if (setuid (getuid ()) != 0) + exit (EXIT_FAILURE); /* Force line buffering regardless of output device. */ setvbuf (stdout, NULL, _IOLBF, 0); -- 2.17.1