From 38c005e7c07b5ccaab3345dc8c66cbc27b95692a Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Mon, 20 Jan 2020 23:31:55 -0800 Subject: fixes #1169 survey and xsurvey could use message cloning fixes #1160 Consider limiting maximum hop count to 15 fixes #1098 Maximum maxTTL should be compile time defined This doesn't expose the max-MaxTTL in the CMakeList.txt -- there is really no reason anyone should be changing it. This does not yet inline the message header into the nni_msg_t, but it is my intention to do so soon, and eliminate most of the conditional cases for failure on inserting into the header. --- src/protocol/reqrep0/req.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/protocol/reqrep0/req.c') diff --git a/src/protocol/reqrep0/req.c b/src/protocol/reqrep0/req.c index b8ca498d..fea95725 100644 --- a/src/protocol/reqrep0/req.c +++ b/src/protocol/reqrep0/req.c @@ -666,12 +666,9 @@ req0_ctx_send(void *arg, nni_aio *aio) return; } ctx->request_id = (uint32_t) id; - if ((rv = nni_msg_header_append_u32(msg, ctx->request_id)) != 0) { - nni_idhash_remove(s->requests, id); - nni_mtx_unlock(&s->mtx); - nni_aio_finish_error(aio, rv); - return; - } + nni_msg_header_clear(msg); + nni_msg_header_must_append_u32(msg, ctx->request_id); + // If no pipes are ready, and the request was a poll (no background // schedule), then fail it. Should be NNG_ETIMEDOUT. rv = nni_aio_schedule(aio, req0_ctx_cancel_send, ctx); @@ -713,7 +710,7 @@ req0_sock_set_max_ttl(void *arg, const void *buf, size_t sz, nni_opt_type t) req0_sock *s = arg; int ttl; int rv; - if ((rv = nni_copyin_int(&ttl, buf, sz, 1, 255, t)) == 0) { + if ((rv = nni_copyin_int(&ttl, buf, sz, 1, NNI_MAX_MAX_TTL, t)) == 0) { nni_atomic_set(&s->ttl, ttl); } return (rv); -- cgit v1.2.3-70-g09d2