tests/lzma: Fix off-by-one in buffer size

Coverity spotted that we had an off-by-one here since we were using
`i+1`.  Fix this by adding a `-1` to the bounds check.  Also use
`sizeof()` to ensure the data and size are coupled.

Coverity CID: 1452207

Closes: #1037
Approved by: jlebon
This commit is contained in:
Colin Walters 2017-07-31 10:05:04 -04:00 committed by Atomic Bot
parent e70db67c01
commit fe8938227e
1 changed files with 3 additions and 4 deletions

View File

@ -79,13 +79,12 @@ static void
test_lzma_random (void) test_lzma_random (void)
{ {
gssize i; gssize i;
const guint32 buffer_size = 4096 + 1; guint8 buffer[4096];
guint8 buffer[buffer_size];
g_autoptr(GRand) r = g_rand_new (); g_autoptr(GRand) r = g_rand_new ();
for (i = 0; i < buffer_size; i++) for (i = 0; i < sizeof(buffer); i++)
buffer[i] = g_rand_int (r); buffer[i] = g_rand_int (r);
for (i = 2; i <= buffer_size; i *= 2) for (i = 2; i < (sizeof(buffer) - 1); i *= 2)
{ {
helper_test_compress_decompress (buffer, i - 1); helper_test_compress_decompress (buffer, i - 1);
helper_test_compress_decompress (buffer, i); helper_test_compress_decompress (buffer, i);