Message ID | 20240328102052.3499331-10-marcandre.lureau@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | -Werror=maybe-uninitialized fixes | expand |
On 28/3/24 11:20, marcandre.lureau@redhat.com wrote: > From: Marc-André Lureau <marcandre.lureau@redhat.com> > > ../hw/sd/sdhci.c:846:16: error: ‘res’ may be used uninitialized [-Werror=maybe-uninitialized] > > False-positive, because "length" is non-null. > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > hw/sd/sdhci.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c > index c5e0bc018b..da5351d4e5 100644 > --- a/hw/sd/sdhci.c > +++ b/hw/sd/sdhci.c > @@ -745,7 +745,7 @@ static void sdhci_do_adma(SDHCIState *s) > const uint16_t block_size = s->blksize & BLOCK_SIZE_MASK; > const MemTxAttrs attrs = { .memory = true }; > ADMADescr dscr = {}; > - MemTxResult res; > + MemTxResult res = MEMTX_ERROR; Something is indeed odd here. Due to the for() loop, the variable initialization should be moved after the SDHC_ADMA_ATTR_ACT_TRAN switch case.
Hi On Thu, Mar 28, 2024 at 3:31 PM Philippe Mathieu-Daudé <philmd@linaro.org> wrote: > > On 28/3/24 11:20, marcandre.lureau@redhat.com wrote: > > From: Marc-André Lureau <marcandre.lureau@redhat.com> > > > > ../hw/sd/sdhci.c:846:16: error: ‘res’ may be used uninitialized [-Werror=maybe-uninitialized] > > > > False-positive, because "length" is non-null. > > > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > > --- > > hw/sd/sdhci.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c > > index c5e0bc018b..da5351d4e5 100644 > > --- a/hw/sd/sdhci.c > > +++ b/hw/sd/sdhci.c > > @@ -745,7 +745,7 @@ static void sdhci_do_adma(SDHCIState *s) > > const uint16_t block_size = s->blksize & BLOCK_SIZE_MASK; > > const MemTxAttrs attrs = { .memory = true }; > > ADMADescr dscr = {}; > > - MemTxResult res; > > + MemTxResult res = MEMTX_ERROR; > > Something is indeed odd here. Due to the for() loop, the variable > initialization should be moved after the SDHC_ADMA_ATTR_ACT_TRAN > switch case. > Moving the variable initialization? What do you suggest exactly? thanks
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index c5e0bc018b..da5351d4e5 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -745,7 +745,7 @@ static void sdhci_do_adma(SDHCIState *s) const uint16_t block_size = s->blksize & BLOCK_SIZE_MASK; const MemTxAttrs attrs = { .memory = true }; ADMADescr dscr = {}; - MemTxResult res; + MemTxResult res = MEMTX_ERROR; int i; if (s->trnmod & SDHC_TRNS_BLK_CNT_EN && !s->blkcnt) {