From: Nick Mathewson Date: Thu, 17 Apr 2025 23:20:37 +0000 (-0400) Subject: relay_msg: use IF_BUG_ONCE X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=99ce40807a3a8ed5c7275051e11c70abda0809c3;p=thirdparty%2Ftor.git relay_msg: use IF_BUG_ONCE If these bugs are reachable, they're likely to fill up the logs. --- diff --git a/src/core/or/relay_msg.c b/src/core/or/relay_msg.c index 5b40a68057..f6f7a207b2 100644 --- a/src/core/or/relay_msg.c +++ b/src/core/or/relay_msg.c @@ -115,8 +115,9 @@ static int encode_v0_cell(const relay_msg_t *msg, cell_t *cell_out) { - if (BUG(msg->length > CELL_PAYLOAD_SIZE - RELAY_HEADER_SIZE_V0)) + IF_BUG_ONCE(msg->length > CELL_PAYLOAD_SIZE - RELAY_HEADER_SIZE_V0) { return -1; + } uint8_t *out = cell_out->payload; @@ -143,21 +144,23 @@ encode_v1_cell(const relay_msg_t *msg, maxlen = CELL_PAYLOAD_SIZE - RELAY_HEADER_SIZE_V1_NO_STREAM_ID; } - if (BUG(msg->length > maxlen)) + IF_BUG_ONCE(msg->length > maxlen) { return -1; - + } uint8_t *out = cell_out->payload; out[V1_CMD_OFFSET] = msg->command; set_uint16(out+V1_LEN_OFFSET, htons(msg->length)); size_t payload_offset; if (expects_streamid) { - if (BUG(msg->stream_id == 0)) + IF_BUG_ONCE(msg->stream_id == 0) { return -1; + } set_uint16(out+V1_STREAM_ID_OFFSET, htons(msg->stream_id)); payload_offset = V1_PAYLOAD_OFFSET_WITH_STREAM_ID; } else { - if (BUG(msg->stream_id != 0)) + IF_BUG_ONCE(msg->stream_id != 0) { return -1; + } payload_offset = V1_PAYLOAD_OFFSET_NO_STREAM_ID; }