From: Ashvini Varatharaj Date: Sat, 19 Oct 2013 09:52:28 +0000 (+0530) Subject: Staging: dgnc: avoiding buffer overflow X-Git-Tag: next-20131021~27^2~22 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f32eca7d6f962a9d8e998dc28a96665a9a7deb78;p=karo-tx-linux.git Staging: dgnc: avoiding buffer overflow drivers/staging/dgnc/dgnc_neo.c:1969 neo_vpd() error: buffer overflow 'brd->vpd' 128 <= 128 drivers/staging/dgnc/dgnc_neo.c:1970 neo_vpd() warn: buffer overflow 'brd->vpd' 128 <= 130 drivers/staging/dgnc/dgnc_neo.c:1970 neo_vpd() warn: buffer overflow 'brd->vpd' 128 <= 130 Signed-off-by: Ashvini Varatharaj Reviewed-by: Peter P Waskiewicz Jr Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/dgnc/dgnc_neo.c b/drivers/staging/dgnc/dgnc_neo.c index 0e2a5e144cfe..dc5a138d8d4a 100644 --- a/drivers/staging/dgnc/dgnc_neo.c +++ b/drivers/staging/dgnc/dgnc_neo.c @@ -1965,7 +1965,7 @@ static void neo_vpd(struct dgnc_board *brd) } else { /* Search for the serial number */ - for (i = 0; i < NEO_VPD_IMAGESIZE * 2; i++) { + for (i = 0; i < NEO_VPD_IMAGEBYTES - 3; i++) { if (brd->vpd[i] == 'S' && brd->vpd[i + 1] == 'N') { strncpy(brd->serial_num, &(brd->vpd[i + 3]), 9); }