diff options
Diffstat (limited to 'src/third_party/wiredtiger/test/packing/intpack-test2.c')
-rw-r--r-- | src/third_party/wiredtiger/test/packing/intpack-test2.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/third_party/wiredtiger/test/packing/intpack-test2.c b/src/third_party/wiredtiger/test/packing/intpack-test2.c index 13f9ab0d2d7..82a4e1d36d2 100644 --- a/src/third_party/wiredtiger/test/packing/intpack-test2.c +++ b/src/third_party/wiredtiger/test/packing/intpack-test2.c @@ -31,13 +31,19 @@ int main(void) { - uint8_t buf[WT_INTPACK64_MAXSIZE], *p, *end; + uint8_t buf[WT_INTPACK64_MAXSIZE + 8]; /* -Werror=array-bounds */ + uint8_t *p, *end; int64_t i; + size_t used_len; + + memset(buf, 0xff, sizeof(buf)); /* -Werror=maybe-uninitialized */ for (i = 1; i < 1LL << 60; i <<= 1) { end = buf; testutil_check( __wt_vpack_uint(&end, sizeof(buf), (uint64_t)i)); + used_len = (size_t)(end - buf); + testutil_assert(used_len <= WT_INTPACK64_MAXSIZE); printf("%" PRId64 " ", i); for (p = buf; p < end; p++) printf("%02x", *p); @@ -45,6 +51,8 @@ main(void) end = buf; testutil_check(__wt_vpack_int(&end, sizeof(buf), -i)); + used_len = (size_t)(end - buf); + testutil_assert(used_len <= WT_INTPACK64_MAXSIZE); printf("%" PRId64 " ", -i); for (p = buf; p < end; p++) printf("%02x", *p); |