]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Try to make coverity recognize range check on len (CID #1448182)
authorJames Jones <jejones3141@gmail.com>
Tue, 17 Oct 2023 20:33:00 +0000 (15:33 -0500)
committerAlan DeKok <aland@freeradius.org>
Thu, 18 Jan 2024 14:33:58 +0000 (09:33 -0500)
src/listen/dhcpv6/proto_dhcpv6.c

index 479a4da5c2b7c9819b91ee22003815cb64a2e14a..6906ee081f8625111c8d35043aa95fc8d10baccb 100644 (file)
@@ -324,8 +324,7 @@ static ssize_t mod_encode(UNUSED void const *instance, request_t *request, uint8
                client_id = fr_dhcpv6_option_find(request->packet->data + 4, request->packet->data + request->packet->data_len, attr_client_id->attr);
                if (client_id) {
                        size_t len = fr_nbo_to_uint16(client_id + 2);
-                       if ((data_len + 4 + len) <= buffer_len) {
-                               /* coverity[tainted_data] */
+                       if (len <= (buffer_len - (data_len + 4))) {
                                memcpy(buffer + data_len, client_id, 4 + len);
                                data_len += 4 + len;
                        }