sata_sil24: memset() overflow

cb->atapi.cdb is an array of 16 u8 elements. The call too memset()
would set the first part of the sge array to zero as well. It's not
a packed struct.

This one has been around for five years. I found it with Smatch. I
think the reason no one has seen it before is because we normally call
sil24_fill_sg() and that overwrites sge with proper information?

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

authored by Dan Carpenter and committed by Jeff Garzik 14e45c15 7908a9e5

+1 -1
+1 -1
drivers/ata/sata_sil24.c
··· 865 865 } else { 866 866 prb = &cb->atapi.prb; 867 867 sge = cb->atapi.sge; 868 - memset(cb->atapi.cdb, 0, 32); 868 + memset(cb->atapi.cdb, 0, sizeof(cb->atapi.cdb)); 869 869 memcpy(cb->atapi.cdb, qc->cdb, qc->dev->cdb_len); 870 870 871 871 if (ata_is_data(qc->tf.protocol)) {