diff options
author | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org> | 2006-04-22 02:08:56 +0000 |
---|---|---|
committer | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org> | 2006-04-22 02:08:56 +0000 |
commit | 27f165a84e426ca55d4de5eb84c1d4b18056506e (patch) | |
tree | 20493d5c68535d0e65c8406d21032df48be9b121 | |
parent | 84f864cfb01516be0538b78751eeb3ab03410e8b (diff) |
Don't overwrite errno with return value of setsockopt (which is -1 on error).
Fixes "Unknown error 4294967295" message (bugzilla #460).
-rw-r--r-- | libiptc/libiptc.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/libiptc/libiptc.c b/libiptc/libiptc.c index 3538cca..794904b 100644 --- a/libiptc/libiptc.c +++ b/libiptc/libiptc.c @@ -2096,10 +2096,8 @@ TC_COMMIT(TC_HANDLE_T *handle) ret = setsockopt(sockfd, TC_IPPROTO, SO_SET_REPLACE, repl, sizeof(*repl) + repl->size); - if (ret < 0) { - errno = ret; + if (ret < 0) goto out_free_newcounters; - } /* Put counters back. */ strcpy(newcounters->name, (*handle)->info.name); @@ -2190,10 +2188,8 @@ TC_COMMIT(TC_HANDLE_T *handle) ret = setsockopt(sockfd, TC_IPPROTO, SO_SET_ADD_COUNTERS, newcounters, counterlen); - if (ret < 0) { - errno = ret; + if (ret < 0) goto out_free_newcounters; - } free(repl->counters); free(repl); |