From: Marek VavruĊĦa Date: Thu, 26 Nov 2015 21:11:51 +0000 (+0100) Subject: daemon/worker: fixed receiving very large TCP payloads X-Git-Tag: v1.0.0-beta3~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=62825fed7db6cd0e8b130327c80e91faae06f1c4;p=thirdparty%2Fknot-resolver.git daemon/worker: fixed receiving very large TCP payloads --- diff --git a/daemon/worker.c b/daemon/worker.c index a2db66c7e..36c97977e 100644 --- a/daemon/worker.c +++ b/daemon/worker.c @@ -602,11 +602,7 @@ static int msg_size(const uint8_t *msg, size_t len) if (len < 2) { return kr_error(EMSGSIZE); } - uint16_t nbytes = wire_read_u16(msg); - if (nbytes > len - 2) { - return kr_error(EMSGSIZE); - } - return nbytes; + return wire_read_u16(msg); } int worker_process_tcp(struct worker_ctx *worker, uv_handle_t *handle, const uint8_t *msg, size_t len) diff --git a/tests/deckard b/tests/deckard index 082b68253..178715a25 160000 --- a/tests/deckard +++ b/tests/deckard @@ -1 +1 @@ -Subproject commit 082b68253494d4959975c76342c7044273e2f993 +Subproject commit 178715a25997c63b79a58f1e2cbff49bb327ae02