diff options
-rw-r--r-- | src/libnfnetlink.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libnfnetlink.c b/src/libnfnetlink.c index 1cb6a82..667e5ef 100644 --- a/src/libnfnetlink.c +++ b/src/libnfnetlink.c @@ -210,7 +210,8 @@ struct nfnl_handle *nfnl_open(void) nfnlh->peer.nl_family = AF_NETLINK; addr_len = sizeof(nfnlh->local); - getsockname(nfnlh->fd, (struct sockaddr *)&nfnlh->local, &addr_len); + if (getsockname(nfnlh->fd, (struct sockaddr *)&nfnlh->local, &addr_len)) + goto err_close; if (addr_len != sizeof(nfnlh->local)) { errno = EINVAL; goto err_close; @@ -231,7 +232,8 @@ struct nfnl_handle *nfnl_open(void) /* use getsockname to get the netlink pid that the kernel assigned us */ addr_len = sizeof(nfnlh->local); - getsockname(nfnlh->fd, (struct sockaddr *)&nfnlh->local, &addr_len); + if (getsockname(nfnlh->fd, (struct sockaddr *)&nfnlh->local, &addr_len)) + goto err_close; if (addr_len != sizeof(nfnlh->local)) { errno = EINVAL; goto err_close; |