summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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
commit27f165a84e426ca55d4de5eb84c1d4b18056506e (patch)
tree20493d5c68535d0e65c8406d21032df48be9b121
parent84f864cfb01516be0538b78751eeb3ab03410e8b (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.c8
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);