diff --git a/sources/auth.c b/sources/auth.c index 4759ef78..1da87441 100644 --- a/sources/auth.c +++ b/sources/auth.c @@ -502,7 +502,7 @@ od_auth_backend(od_server_t *server, machine_msg_t *msg) while (1) { msg = od_read(&server->io, UINT32_MAX); - if (rc == -1) { + if (msg == NULL) { od_error(&instance->logger, "auth", NULL, server, "read error: %s", od_io_error(&server->io)); diff --git a/sources/io.h b/sources/io.h index d0542266..6afe3416 100644 --- a/sources/io.h +++ b/sources/io.h @@ -192,6 +192,7 @@ od_read(od_io_t *io, uint32_t time_ms) uint32_t size; size = kiwi_read_size((char*)&header, sizeof(header)); + assert(size > 0); machine_msg_t *msg; msg = machine_msg_create(sizeof(header) + size);