From: Alan T. DeKok Date: Sat, 16 Nov 2019 20:54:58 +0000 (-0500) Subject: round up when checking bounds X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f0bcee0859491371bdf4fd7764d0efe6844bdb0c;p=thirdparty%2Ffreeradius-server.git round up when checking bounds --- diff --git a/src/lib/util/struct.c b/src/lib/util/struct.c index 3c58a5f3b32..988fb34331e 100644 --- a/src/lib/util/struct.c +++ b/src/lib/util/struct.c @@ -104,7 +104,7 @@ ssize_t fr_struct_from_network(TALLOC_CTX *ctx, fr_cursor_t *cursor, uint64_t value; num_bits = offset + child->flags.length; - if ((end - p) < (num_bits >> 3)) goto unknown; + if ((end - p) < ((num_bits + 7) >> 3)) goto unknown; memset(array, 0, sizeof(array)); memcpy(&array[0], p, ((num_bits + 7) >> 3)); /* round up to nearest byte */