When building qemu with GCC 11, test-block-iothread produces the following
warning:
../tests/unit/test-block-iothread.c:148:11: error: ‘buf’ may be used
uninitialized [-Werror=maybe-uninitialized]
This is caused by buf[512] left uninitialized and passed to
bdrv_save_vmstate() that expects a const uint8_t *, so the compiler
assumes it will be read and expects the parameter to be initialized.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
tests/unit/test-block-iothread.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/unit/test-block-iothread.c b/tests/unit/test-block-iothread.c
index 3f866a35c6..8cf172cb7a 100644
--- a/tests/unit/test-block-iothread.c
+++ b/tests/unit/test-block-iothread.c
@@ -89,7 +89,7 @@ static void test_sync_op_pread(BdrvChild *c)
static void test_sync_op_pwrite(BdrvChild *c)
{
- uint8_t buf[512];
+ uint8_t buf[512] = { 0 };
int ret;
/* Success */
@@ -117,7 +117,7 @@ static void test_sync_op_blk_pread(BlockBackend *blk)
static void test_sync_op_blk_pwrite(BlockBackend *blk)
{
- uint8_t buf[512];
+ uint8_t buf[512] = { 0 };
int ret;
/* Success */
@@ -141,7 +141,7 @@ static void test_sync_op_load_vmstate(BdrvChild *c)
static void test_sync_op_save_vmstate(BdrvChild *c)
{
- uint8_t buf[512];
+ uint8_t buf[512] = { 0 };
int ret;
/* Error: Driver does not support snapshots */
--
2.29.2
On 19/03/21 12:22, Emanuele Giuseppe Esposito wrote: > When building qemu with GCC 11, test-block-iothread produces the following > warning: > > ../tests/unit/test-block-iothread.c:148:11: error: ‘buf’ may be used > uninitialized [-Werror=maybe-uninitialized] > > This is caused by buf[512] left uninitialized and passed to > bdrv_save_vmstate() that expects a const uint8_t *, so the compiler > assumes it will be read and expects the parameter to be initialized. > > Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> > --- > tests/unit/test-block-iothread.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tests/unit/test-block-iothread.c b/tests/unit/test-block-iothread.c > index 3f866a35c6..8cf172cb7a 100644 > --- a/tests/unit/test-block-iothread.c > +++ b/tests/unit/test-block-iothread.c > @@ -89,7 +89,7 @@ static void test_sync_op_pread(BdrvChild *c) > > static void test_sync_op_pwrite(BdrvChild *c) > { > - uint8_t buf[512]; > + uint8_t buf[512] = { 0 }; > int ret; > > /* Success */ > @@ -117,7 +117,7 @@ static void test_sync_op_blk_pread(BlockBackend *blk) > > static void test_sync_op_blk_pwrite(BlockBackend *blk) > { > - uint8_t buf[512]; > + uint8_t buf[512] = { 0 }; > int ret; > > /* Success */ > @@ -141,7 +141,7 @@ static void test_sync_op_load_vmstate(BdrvChild *c) > > static void test_sync_op_save_vmstate(BdrvChild *c) > { > - uint8_t buf[512]; > + uint8_t buf[512] = { 0 }; > int ret; > > /* Error: Driver does not support snapshots */ > Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
On Fri 19 Mar 2021 12:22:18 PM CET, Emanuele Giuseppe Esposito <eesposit@redhat.com> wrote: > When building qemu with GCC 11, test-block-iothread produces the following > warning: > > ../tests/unit/test-block-iothread.c:148:11: error: ‘buf’ may be used > uninitialized [-Werror=maybe-uninitialized] > > This is caused by buf[512] left uninitialized and passed to > bdrv_save_vmstate() that expects a const uint8_t *, so the compiler > assumes it will be read and expects the parameter to be initialized. > > Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Berto
© 2016 - 2024 Red Hat, Inc.