diff options
author | ajs <ajs> | 2005-01-29 17:07:40 +0000 |
---|---|---|
committer | ajs <ajs> | 2005-01-29 17:07:40 +0000 |
commit | 4460e7a4cf3dadcd9f06e4b519ba7be2cc936c0a (patch) | |
tree | 5755c13aeffb151d56a886868e623d186ca9a0a0 /zebra/ioctl_solaris.c | |
parent | 4be019d5530e21c9e54e41e46a57ab071b9b11ae (diff) | |
download | quagga-4460e7a4cf3dadcd9f06e4b519ba7be2cc936c0a.tar.bz2 quagga-4460e7a4cf3dadcd9f06e4b519ba7be2cc936c0a.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/ioctl_solaris.c')
-rw-r--r-- | zebra/ioctl_solaris.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/zebra/ioctl_solaris.c b/zebra/ioctl_solaris.c index 8ebd0f41..5ec327ac 100644 --- a/zebra/ioctl_solaris.c +++ b/zebra/ioctl_solaris.c @@ -46,8 +46,8 @@ int if_ioctl (u_long request, caddr_t buffer) { int sock; - int ret = 0; - int err = 0; + int ret; + int err; if (zserv_privs.change(ZPRIVS_RAISE)) zlog (NULL, LOG_ERR, "Can't raise privileges"); @@ -61,15 +61,12 @@ if_ioctl (u_long request, caddr_t buffer) exit (1); } - ret = ioctl (sock, request, buffer); + if ((ret = ioctl (sock, request, buffer)) < 0) + err = errno; if (zserv_privs.change(ZPRIVS_LOWER)) zlog (NULL, LOG_ERR, "Can't lower privileges"); - if (ret < 0) - { - err = errno; - } close (sock); if (ret < 0) @@ -86,8 +83,8 @@ if_ioctl_ipv6 (u_long request, caddr_t buffer) { #ifdef HAVE_IPV6 int sock; - int ret = 0; - int err = 0; + int ret; + int err; if (zserv_privs.change(ZPRIVS_RAISE)) zlog (NULL, LOG_ERR, "Can't raise privileges"); @@ -101,15 +98,12 @@ if_ioctl_ipv6 (u_long request, caddr_t buffer) exit (1); } - ret = ioctl (sock, request, buffer); + if ((ret = ioctl (sock, request, buffer)) < 0) + err = errno; if (zserv_privs.change(ZPRIVS_LOWER)) zlog (NULL, LOG_ERR, "Can't lower privileges"); - if (ret < 0) - { - err = errno; - } close (sock); if (ret < 0) |