diff options
author | Michele Baldessari <michele@acksyn.org> | 2012-10-27 20:38:22 +0200 |
---|---|---|
committer | Thomas Graf <tgraf@redhat.com> | 2012-10-29 18:16:58 +0100 |
commit | 16e54c4e6e767e5c923e7d5849a285b38d3345d0 (patch) | |
tree | 2f4d7790ef3c5f8d470542fac2746b4233e0bfcf | |
parent | 503270c1c8558f5e2a96a01dec0cee86267ee325 (diff) | |
download | libnl-16e54c4e6e767e5c923e7d5849a285b38d3345d0.tar.gz |
Add missing va_end() calls
Add missing va_end() calls on all error paths
-rw-r--r-- | lib/socket.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/socket.c b/lib/socket.c index 4e1d84c..724fb7a 100644 --- a/lib/socket.c +++ b/lib/socket.c @@ -347,13 +347,17 @@ int nl_socket_add_memberships(struct nl_sock *sk, int group, ...) va_start(ap, group); while (group != 0) { - if (group < 0) + if (group < 0) { + va_end(ap); return -NLE_INVAL; + } err = setsockopt(sk->s_fd, SOL_NETLINK, NETLINK_ADD_MEMBERSHIP, &group, sizeof(group)); - if (err < 0) + if (err < 0) { + va_end(ap); return -nl_syserr2nlerr(errno); + } group = va_arg(ap, int); } @@ -391,13 +395,17 @@ int nl_socket_drop_memberships(struct nl_sock *sk, int group, ...) va_start(ap, group); while (group != 0) { - if (group < 0) + if (group < 0) { + va_end(ap); return -NLE_INVAL; + } err = setsockopt(sk->s_fd, SOL_NETLINK, NETLINK_DROP_MEMBERSHIP, &group, sizeof(group)); - if (err < 0) + if (err < 0) { + va_end(ap); return -nl_syserr2nlerr(errno); + } group = va_arg(ap, int); } |