]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
use p / end, and data / data_len
authorAlan T. DeKok <aland@freeradius.org>
Sun, 24 Jan 2021 13:06:51 +0000 (08:06 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Sun, 24 Jan 2021 13:06:51 +0000 (08:06 -0500)
mixing and matching is a bad idea

src/protocols/dhcpv4/decode.c

index 917f14435a2163f407be5bb937e142c74563cf7d..271c53e02513b9b7bd0e0fe3ba75ec20381b1a00 100644 (file)
@@ -178,12 +178,12 @@ static ssize_t decode_value_internal(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_d
        {
                ssize_t ret;
 
-               ret = fr_value_box_from_network(vp, &vp->data, vp->da->type, da, p, data_len, true);
+               ret = fr_value_box_from_network(vp, &vp->data, vp->da->type, da, p, end - p, true);
                if (ret < 0) {
                raw:
                        FR_PROTO_TRACE("decoding as unknown type");
                        if (fr_pair_to_unknown(vp) < 0) return -1;
-                       fr_pair_value_memdup(vp, p, data_len, true);
+                       fr_pair_value_memdup(vp, p, end - p, true);
                        ret = data_len;
                }
                p += (size_t) ret;