summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorin Malita <fmalita@gmail.com>2007-05-23 13:57:45 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-23 20:14:12 -0700
commit9bea3f29fc626e190f012c4ad5f8a9e9a2f26cf6 (patch)
tree156a6c3cb913aef5bf8244e6333802950f8132b8
parent6087b2dab2c914268b1a50882edbbad82bfefd29 (diff)
downloadlinux-3.10-9bea3f29fc626e190f012c4ad5f8a9e9a2f26cf6.tar.gz
linux-3.10-9bea3f29fc626e190f012c4ad5f8a9e9a2f26cf6.tar.bz2
linux-3.10-9bea3f29fc626e190f012c4ad5f8a9e9a2f26cf6.zip
spi: potential memleak in spidev_ioctl
'ioc' should be deallocated if __copy_from_user fails (found by Coverity - CID 1644). Signed-off-by: Florin Malita <fmalita@gmail.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/spi/spidev.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
index bcfef04f547..d04242aee40 100644
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -364,6 +364,7 @@ spidev_ioctl(struct inode *inode, struct file *filp,
break;
}
if (__copy_from_user(ioc, (void __user *)arg, tmp)) {
+ kfree(ioc);
retval = -EFAULT;
break;
}