summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2011-02-13 21:48:26 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2011-02-13 21:48:26 +0100
commitc6a4bdb9ea086ba48b000777f35090559f86c962 (patch)
tree1e219c29770ce92595d731db693d5c312fe31b6f
parentbbcdcc5fc45606081b41191b32891215f7f134e6 (diff)
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.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/run.c b/src/run.c
index 5781939..d96ff6c 100644
--- a/src/run.c
+++ b/src/run.c
@@ -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++;