summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/test/packing/intpack-test2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/test/packing/intpack-test2.c')
-rw-r--r--src/third_party/wiredtiger/test/packing/intpack-test2.c10
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);