diff options
author | Patrick McHardy <kaber@trash.net> | 2006-04-22 02:08:56 +0000 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2006-04-22 02:08:56 +0000 |
commit | e0865ad29d53b0d3d34b5cc8b5e023eb593172a8 (patch) | |
tree | 20493d5c68535d0e65c8406d21032df48be9b121 /libiptc/libiptc.c | |
parent | a7dd0e41b7fc06b4b9f62d031b72fa0e778a204d (diff) |
Don't overwrite errno with return value of setsockopt (which is -1 on error).
Fixes "Unknown error 4294967295" message (bugzilla #460).
Diffstat (limited to 'libiptc/libiptc.c')
-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 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); |