summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichele Baldessari <michele@acksyn.org>2012-10-27 20:38:22 +0200
committerThomas Graf <tgraf@redhat.com>2012-10-29 18:16:58 +0100
commit16e54c4e6e767e5c923e7d5849a285b38d3345d0 (patch)
tree2f4d7790ef3c5f8d470542fac2746b4233e0bfcf
parent503270c1c8558f5e2a96a01dec0cee86267ee325 (diff)
downloadlibnl-16e54c4e6e767e5c923e7d5849a285b38d3345d0.tar.gz
Add missing va_end() calls
Add missing va_end() calls on all error paths
-rw-r--r--lib/socket.c16
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);
}