From: Alan T. DeKok Date: Mon, 11 Nov 2024 21:18:50 +0000 (-0500) Subject: check value to quiet coverity X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ed8e9e1cbfdcf0bcf734b9a0707651b56528ec4;p=thirdparty%2Ffreeradius-server.git check value to quiet coverity the dbuff code ensures that we don't loop over too much data, but Coverity doesn't know that. --- diff --git a/src/lib/util/cbor.c b/src/lib/util/cbor.c index 8337915d046..8eba200ab77 100644 --- a/src/lib/util/cbor.c +++ b/src/lib/util/cbor.c @@ -1152,6 +1152,10 @@ ssize_t fr_cbor_decode_value_box(TALLOC_CTX *ctx, fr_value_box_t *vb, fr_dbuff_t indefinite = false; } +#ifdef STATIC_ANALYZER + if (value > fr_dbuff_remaining(&work_dbuff)) return -1; +#endif + /* * Loop until we decode everything. For simplicity, we handle indefinite and definite * length arrays in the same loop. @@ -1514,6 +1518,10 @@ ssize_t fr_cbor_decode_pair(TALLOC_CTX *ctx, fr_pair_list_t *out, fr_dbuff_t *db indefinite = false; } +#ifdef STATIC_ANALYZER + if (value > fr_dbuff_remaining(&work_dbuff)) return -1; +#endif + /* * Loop until we decode everything. For simplicity, we handle indefinite and definite * length arrays in the same loop.