summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-10-27 21:52:38 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-10-27 22:30:43 -0400
commit3fcd09602c0dfff8c0fafe6c4f9bba6b0fd72c30 (patch)
treec9d13b65dbb4c0b5c2b387a5fd57141b76dbcf1f
parentdec23413ecc90d4a547aa41f02af0482b4513495 (diff)
downloadsystemd-3fcd09602c0dfff8c0fafe6c4f9bba6b0fd72c30.tar.gz
cdrom_id: do not attempt to read past end of buffer
CID #1238437
-rw-r--r--src/udev/cdrom_id/cdrom_id.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/udev/cdrom_id/cdrom_id.c b/src/udev/cdrom_id/cdrom_id.c
index c93a7bf8d1..7a4b98726c 100644
--- a/src/udev/cdrom_id/cdrom_id.c
+++ b/src/udev/cdrom_id/cdrom_id.c
@@ -606,7 +606,7 @@ static int cd_profiles(struct udev *udev, int fd)
switch (feature) {
case 0x00:
log_debug("GET CONFIGURATION: feature 'profiles', with %i entries", features[i+3] / 4);
- feature_profiles(udev, &features[i]+4, features[i+3]);
+ feature_profiles(udev, &features[i]+4, MIN(features[i+3], len - i - 4));
break;
default:
log_debug("GET CONFIGURATION: feature 0x%04x <ignored>, with 0x%02x bytes", feature, features[i+3]);