summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2006-04-22 02:08:56 +0000
committerPatrick McHardy <kaber@trash.net>2006-04-22 02:08:56 +0000
commite0865ad29d53b0d3d34b5cc8b5e023eb593172a8 (patch)
tree20493d5c68535d0e65c8406d21032df48be9b121
parenta7dd0e41b7fc06b4b9f62d031b72fa0e778a204d (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 3538cca8..794904b7 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);