]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Pass in outlen correctly
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 3 Dec 2017 22:09:02 +0000 (22:09 +0000)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 3 Dec 2017 22:09:02 +0000 (22:09 +0000)
src/modules/rlm_eap/lib/sim/encode.c

index bf39bce58b872722d02fcf5e836dbf9e119cf900..d5238a43c27c451f80540fadcefa2ad3fddce094 100644 (file)
@@ -729,9 +729,9 @@ static ssize_t encode_rfc_hdr(uint8_t *out, size_t outlen, fr_dict_attr_t const
 
        p += 2; /* Leave space for attr + len */
        if (da->flags.array) {
-               slen = encode_array(p, end - p, tlv_stack, depth, cursor, encoder_ctx);
+               slen = encode_array(p, outlen - (p - out), tlv_stack, depth, cursor, encoder_ctx);
        } else {
-               slen = encode_value(p, end - p, tlv_stack, depth, cursor, encoder_ctx);
+               slen = encode_value(p, outlen - (p - out), tlv_stack, depth, cursor, encoder_ctx);
        }
        if (slen <= 0) return slen;
        p += slen;