Skip to contentSkip to conversation

scsi: gdth: fix bad integer overflow check

PATCH New Dan Carpenter 1 participant 1 message Dec 22, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 scsi: gdth: fix bad integer overflow check

The integer overflow check was written incorrectly so it doesn't work. Whoever wrote this clearly didn't know what they were doing. (I suck).

Fixes f63ae56e4e97 ('[SCSI] gdth: integer overflow in ioctl')
drivers/scsi/gdth.c +1 -1
index 71e1380..0539147 100644
@@ -4175,7 +4175,7 @@ static int ioc_general(void __user *arg, char *cmnd)
         return -EINVAL;
     if (gen.sense_len > INT_MAX)
         return -EINVAL;
-    if (gen.data_len + gen.sense_len > INT_MAX)
+    if (gen.data_len > INT_MAX - gen.sense_len)
         return -EINVAL;
 
     if (gen.data_len + gen.sense_len != 0) {