diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2011-02-13 21:48:26 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2011-02-13 21:48:26 +0100 |
commit | c6a4bdb9ea086ba48b000777f35090559f86c962 (patch) | |
tree | 1e219c29770ce92595d731db693d5c312fe31b6f | |
parent | bbcdcc5fc45606081b41191b32891215f7f134e6 (diff) | |
download | conntrack-tools-c6a4bdb9ea086ba48b000777f35090559f86c962.tar.gz conntrack-tools-c6a4bdb9ea086ba48b000777f35090559f86c962.zip |
local: don't override initial return value
The return initial value is overriden after the initial read. Don't
override this value, instead we check the return value of the read()
operation.
This patch also changes the error statistics accounting since we
consider that a request with no data is an error.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | src/run.c | 6 |
1 files changed, 1 insertions, 5 deletions
@@ -191,14 +191,10 @@ static int local_handler(int fd, void *data) int ret = LOCAL_RET_OK; int type; - ret = read(fd, &type, sizeof(type)); - if (ret == -1) { + if (read(fd, &type, sizeof(type)) <= 0) { STATE(stats).local_read_failed++; return LOCAL_RET_OK; } - if (ret == 0) - return LOCAL_RET_OK; - switch(type) { case FLUSH_MASTER: STATE(stats).nl_kernel_table_flush++; |