]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
fix up memcpy_bounded()
authorAlan T. DeKok <aland@freeradius.org>
Wed, 23 Oct 2019 12:57:00 +0000 (08:57 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 23 Oct 2019 13:08:40 +0000 (09:08 -0400)
src/protocols/radius/decode.c

index c729546612490ef92f7bb415fe04bcc945acc4fa..0bde13fa40c848913eba2c2fa5231aa0331f127b 100644 (file)
@@ -38,10 +38,12 @@ static void memcpy_bounded(void * restrict dst, const void * restrict src, size_
                return;
        }
 
-       if (!fr_cond_assert(src < end)) {
+       if (!fr_cond_assert(src <= end)) {
                return;
        }
 
+       if (len == 0) return;
+
        if (!fr_cond_assert(((uint8_t const * restrict) src + len) <= (uint8_t const * restrict) end)) {
                len = (uint8_t const * restrict) end - (uint8_t const * restrict) src;
        }