Don't overwrite errno with return value of setsockopt (which is -1 on error).
Fixes "Unknown error 4294967295" message (bugzilla #460).
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 @@
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 @@
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);