Valgrind fixes for prioritizer
authorHannes Reinecke <hare@suse.de>
Tue, 8 Jan 2013 13:53:50 +0000 (14:53 +0100)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Tue, 8 Jan 2013 22:34:13 +0000 (23:34 +0100)
Declaring an array does not zero out its contents. So we might
be reading random garbage here.

Signed-off-by: Hannes Reinecke <hare@suse.de>
libmultipath/prioritizers/hds.c
libmultipath/prioritizers/ontap.c
libmultipath/prioritizers/rdac.c

index b22e1df..5d75f84 100644 (file)
@@ -105,6 +105,7 @@ int hds_modular_prio (const char *dev, int fd)
        }
 
        memset (&io_hdr, 0, sizeof (sg_io_hdr_t));
+       memset (inqBuff, 0, INQ_REPLY_LEN);
        io_hdr.interface_id = 'S';
        io_hdr.cmd_len = sizeof (inqCmdBlk);
        io_hdr.mx_sb_len = sizeof (sense_buffer);
index 0d34092..026d45d 100644 (file)
@@ -80,6 +80,7 @@ static int send_gva(const char *dev, int fd, unsigned char pg,
        int ret = -1;
 
        memset(&io_hdr, 0, sizeof (struct sg_io_hdr));
+       memset(results, 0, *results_size);
        io_hdr.interface_id = 'S';
        io_hdr.cmd_len = sizeof (cdb);
        io_hdr.mx_sb_len = sizeof (sb);
index 8667790..441b3b0 100644 (file)
@@ -22,6 +22,7 @@ int rdac_prio(const char *dev, int fd)
        int ret = 0;
 
        memset(&io_hdr, 0, sizeof (struct sg_io_hdr));
+       memset(sense_buffer, 0, 256);
        io_hdr.interface_id = 'S';
        io_hdr.cmd_len = sizeof (inqCmdBlk);
        io_hdr.mx_sb_len = sizeof (sb);