pata_legacy: fix a couple uninitialized variable bugs
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 6 Oct 2021 07:34:19 +0000 (10:34 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Oct 2021 07:33:59 +0000 (09:33 +0200)
commit 013923477cb311293df9079332cf8b806ed0e6f2 upstream.

The last byte of "pad" is used without being initialized.

Fixes: 55dba3120fbc ("libata: update ->data_xfer hook for ATAPI")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/ata/pata_legacy.c

index bce2a8ca4678ace5375b6a0f90699481b8ff9659..55fcdb798002be997845d835561580ebf912946a 100644 (file)
@@ -328,7 +328,8 @@ static unsigned int pdc_data_xfer_vlb(struct ata_device *dev,
                        iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2);
 
                if (unlikely(slop)) {
-                       __le32 pad;
+                       __le32 pad = 0;
+
                        if (rw == READ) {
                                pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr));
                                memcpy(buf + buflen - slop, &pad, slop);
@@ -716,7 +717,8 @@ static unsigned int vlb32_data_xfer(struct ata_device *adev, unsigned char *buf,
                        ioread32_rep(ap->ioaddr.data_addr, buf, buflen >> 2);
 
                if (unlikely(slop)) {
-                       __le32 pad;
+                       __le32 pad = 0;
+
                        if (rw == WRITE) {
                                memcpy(&pad, buf + buflen - slop, slop);
                                iowrite32(le32_to_cpu(pad), ap->ioaddr.data_addr);