From: James Jones Date: Thu, 17 Aug 2023 15:15:17 +0000 (-0500) Subject: Check returns of [sd]buff write functions (CIDs listed below) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d144f486d402c8e4609019d73d8b937e34a44434;p=thirdparty%2Ffreeradius-server.git Check returns of [sd]buff write functions (CIDs listed below) CIDs: 1624616, 1524609, 1524611, 1524618, 1524615 --- diff --git a/src/lib/eap_aka_sim/encode.c b/src/lib/eap_aka_sim/encode.c index 766651162c9..f024427d0fa 100644 --- a/src/lib/eap_aka_sim/encode.c +++ b/src/lib/eap_aka_sim/encode.c @@ -639,8 +639,8 @@ static ssize_t encode_rfc_hdr(fr_dbuff_t *dbuff, fr_da_stack_t *da_stack, unsign FR_DBUFF_MEMSET_RETURN(&work_dbuff, 0, pad_len); } - fr_dbuff_in_bytes(&hdr_dbuff, (uint8_t)da->attr, - (uint8_t)(fr_dbuff_used(&work_dbuff) >> 2)); + FR_DBUFF_IN_BYTES_RETURN(&hdr_dbuff, (uint8_t)da->attr, + (uint8_t)(fr_dbuff_used(&work_dbuff) >> 2)); FR_PROTO_HEX_DUMP(fr_dbuff_start(&work_dbuff), fr_dbuff_used(&work_dbuff), "Done RFC attribute"); @@ -923,7 +923,7 @@ ssize_t fr_aka_sim_encode(request_t *request, fr_pair_list_t *to_encode, void *e fr_dbuff_init_talloc(NULL, &dbuff, &tctx, 512, 1024); - fr_dbuff_in_bytes(&dbuff, subtype, 0x00, 0x00); + FR_DBUFF_IN_BYTES_RETURN(&dbuff, subtype, 0x00, 0x00); /* * Add space in the packet for AT_MAC diff --git a/src/lib/util/value.c b/src/lib/util/value.c index 2f76d829f63..7b102d9dcc7 100644 --- a/src/lib/util/value.c +++ b/src/lib/util/value.c @@ -4934,7 +4934,7 @@ parse: if ((fr_sbuff_out(NULL, &num, &our_in) > 0) && fr_sbuff_is_terminal(&our_in, rules->terminals)) { num = htonll(num); - fr_dbuff_in_memcpy(&dbuff, ((uint8_t *) &num) + 2, sizeof(dst->vb_ether)); + FR_DBUFF_IN_MEMCPY_RETURN(&dbuff, ((uint8_t *) &num) + 2, sizeof(dst->vb_ether)); fr_value_box_ethernet_addr(dst, dst_enumv, ðer, tainted); FR_SBUFF_SET_RETURN(in, &our_in); diff --git a/src/protocols/internal/encode.c b/src/protocols/internal/encode.c index 0cc9e2677fa..4dfb5164af4 100644 --- a/src/protocols/internal/encode.c +++ b/src/protocols/internal/encode.c @@ -246,9 +246,9 @@ static ssize_t internal_encode(fr_dbuff_t *dbuff, if (mlen < vlen) return -(vlen - mlen); } - fr_dbuff_in_memcpy(&len_field, buff, flen); + FR_DBUFF_IN_MEMCPY_RETURN(&len_field, buff, flen); enc_byte |= ((flen - 1) << 2); - fr_dbuff_in(&enc_field, enc_byte); + FR_DBUFF_IN_RETURN(&enc_field, enc_byte); FR_PROTO_HEX_DUMP(fr_dbuff_start(&work_dbuff), fr_dbuff_used(&work_dbuff) - vlen, "header"); diff --git a/src/protocols/tacacs/encode.c b/src/protocols/tacacs/encode.c index 4e174f30210..4acebcbaafa 100644 --- a/src/protocols/tacacs/encode.c +++ b/src/protocols/tacacs/encode.c @@ -852,7 +852,7 @@ ssize_t fr_tacacs_encode(fr_dbuff_t *dbuff, uint8_t const *original_packet, char if (!version_byte) { version_byte = 0xc1; /* version 12.1 */ fr_dbuff_set(&hdr_io, &hdr); - fr_dbuff_in(&hdr_io, version_byte); + FR_DBUFF_IN_RETURN(&hdr_io, version_byte); } /* * If the caller didn't set a session ID, use a random one.