diff options
Diffstat (limited to 'drivers/input/ff-core.c')
-rw-r--r-- | drivers/input/ff-core.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/input/ff-core.c b/drivers/input/ff-core.c index eab56c0aacd5..8f2042432c85 100644 --- a/drivers/input/ff-core.c +++ b/drivers/input/ff-core.c | |||
@@ -318,6 +318,11 @@ int input_ff_create(struct input_dev *dev, unsigned int max_effects) | |||
318 | return -EINVAL; | 318 | return -EINVAL; |
319 | } | 319 | } |
320 | 320 | ||
321 | if (max_effects > FF_MAX_EFFECTS) { | ||
322 | dev_err(&dev->dev, "cannot allocate more than FF_MAX_EFFECTS effects\n"); | ||
323 | return -EINVAL; | ||
324 | } | ||
325 | |||
321 | ff_dev_size = sizeof(struct ff_device) + | 326 | ff_dev_size = sizeof(struct ff_device) + |
322 | max_effects * sizeof(struct file *); | 327 | max_effects * sizeof(struct file *); |
323 | if (ff_dev_size < max_effects) /* overflow */ | 328 | if (ff_dev_size < max_effects) /* overflow */ |