From 4460e7a4cf3dadcd9f06e4b519ba7be2cc936c0a Mon Sep 17 00:00:00 2001 From: ajs Date: Sat, 29 Jan 2005 17:07:40 +0000 Subject: 2005-01-29 Andrew J. Schorr * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling zserv_privs.change. * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling zserv_privs.change. * ipforward_solaris.c: (solaris_nd) Save errno before calling zserv_privs.change. * irdp_main.c: (irdp_sock_init) Save errno before calling zserv_privs.change. [backport candidate] --- zebra/irdp_main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'zebra/irdp_main.c') diff --git a/zebra/irdp_main.c b/zebra/irdp_main.c index 8c164486..0db2a54d 100644 --- a/zebra/irdp_main.c +++ b/zebra/irdp_main.c @@ -101,19 +101,21 @@ int irdp_sock_init (void) { int ret, i; + int save_errno; if ( zserv_privs.change (ZPRIVS_RAISE) ) zlog_err ("irdp_sock_init: could not raise privs, %s", safe_strerror (errno) ); irdp_sock = socket (AF_INET, SOCK_RAW, IPPROTO_ICMP); + save_errno = errno; if ( zserv_privs.change (ZPRIVS_LOWER) ) zlog_err ("irdp_sock_init: could not lower privs, %s", safe_strerror (errno) ); if (irdp_sock < 0) { - zlog_warn ("IRDP: can't create irdp socket %s", safe_strerror(errno)); + zlog_warn ("IRDP: can't create irdp socket %s", safe_strerror(save_errno)); return irdp_sock; }; -- cgit v1.2.1