aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cdrom/cdrom.c
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2015-10-23 05:50:33 +0200
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2015-10-23 05:50:33 +0200
commit817ba283acf2d7b5aa073b96fd989f336fcff72a (patch)
tree5dd15d9914b74e5575025bccb51c99b745b83525 /drivers/cdrom/cdrom.c
parent3b3a015ad4ab1ad0cf707ccbaef1dbe965993a4a (diff)
downloadkernel_samsung_smdk4412-817ba283acf2d7b5aa073b96fd989f336fcff72a.zip
kernel_samsung_smdk4412-817ba283acf2d7b5aa073b96fd989f336fcff72a.tar.gz
kernel_samsung_smdk4412-817ba283acf2d7b5aa073b96fd989f336fcff72a.tar.bz2
merge more stuff from 3.2.72
Diffstat (limited to 'drivers/cdrom/cdrom.c')
-rw-r--r--drivers/cdrom/cdrom.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c
index fd484a9..1331740 100644
--- a/drivers/cdrom/cdrom.c
+++ b/drivers/cdrom/cdrom.c
@@ -1929,11 +1929,17 @@ static int dvd_read_manufact(struct cdrom_device_info *cdi, dvd_struct *s,
goto out;
s->manufact.len = buf[0] << 8 | buf[1];
- if (s->manufact.len < 0 || s->manufact.len > 2048) {
+ if (s->manufact.len < 0) {
cdinfo(CD_WARNING, "Received invalid manufacture info length"
" (%d)\n", s->manufact.len);
ret = -EIO;
} else {
+ if (s->manufact.len > 2048) {
+ cdinfo(CD_WARNING, "Received invalid manufacture info "
+ "length (%d): truncating to 2048\n",
+ s->manufact.len);
+ s->manufact.len = 2048;
+ }
memcpy(s->manufact.value, &buf[4], s->manufact.len);
}