additional checks for getrange ioctl
authorDavid Schleef <ds@schleef.org>
Mon, 6 Mar 2000 03:59:03 +0000 (03:59 +0000)
committerDavid Schleef <ds@schleef.org>
Mon, 6 Mar 2000 03:59:03 +0000 (03:59 +0000)
comedi/range.c

index eba0aed1cbe545744c62b53de910889896e04b45..3c1fc09d4c4625a2e6069e7b0e026cf3dce37142 100644 (file)
@@ -76,6 +76,12 @@ int do_rangeinfo_ioctl(comedi_device *dev,comedi_rangeinfo *arg)
                return -EINVAL;
        }
 
+       if( (it.range_type&0xffff) != lr->length){
+               DPRINTK("wrong length %d should be %d (0x%08lx)\n",
+                       it.range_type&0xffff,lr->length,it.range_type);
+               return -EINVAL;
+       }
+
        if(copy_to_user(it.range_ptr,lr->range,
                sizeof(comedi_krange)*lr->length))
                return -EFAULT;