diff options
author | ajs <ajs> | 2005-01-29 17:07:40 +0000 |
---|---|---|
committer | ajs <ajs> | 2005-01-29 17:07:40 +0000 |
commit | 12634f509562dae34e02ae010603f24a22aa1361 (patch) | |
tree | 513fd0223df8660139e74e4dcbeef7da5bc12b78 /zebra/ipforward_solaris.c | |
parent | 11f42e102c92152e519b828216d96c262a12020c (diff) | |
download | quagga-12634f509562dae34e02ae010603f24a22aa1361.tar.bz2 quagga-12634f509562dae34e02ae010603f24a22aa1361.tar.xz |
2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* 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]
Diffstat (limited to 'zebra/ipforward_solaris.c')
-rw-r--r-- | zebra/ipforward_solaris.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/zebra/ipforward_solaris.c b/zebra/ipforward_solaris.c index 2eaf3416..3ad2c400 100644 --- a/zebra/ipforward_solaris.c +++ b/zebra/ipforward_solaris.c @@ -87,10 +87,12 @@ solaris_nd(const int cmd, const char* parameter, const int value) } if (ioctl (fd, I_STR, &strioctl) < 0) { + int save_errno = errno; if ( zserv_privs.change (ZPRIVS_LOWER) ) zlog_err ("solaris_nd: Can't lower privileges"); close (fd); - zlog_warn("ioctl I_STR failed on device %s - %s", device,safe_strerror(errno)); + zlog_warn("ioctl I_STR failed on device %s - %s", + device, safe_strerror(save_errno)); return -1; } close(fd); |