aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/fbmem.c
diff options
context:
space:
mode:
authorPawan Kumar <pavaku@codeaurora.org>2013-10-31 16:19:44 +0530
committerSimon Shields <keepcalm444@gmail.com>2016-12-13 00:14:53 +1100
commitb4331df968b885b4df986753ae2361f47d09589c (patch)
tree9921fba4c02b616977b63d72537227a36b2b5fb4 /drivers/video/fbmem.c
parentd7764316afed610cd1ce62a6f01ae465367bbf0a (diff)
downloadkernel_samsung_smdk4412-b4331df968b885b4df986753ae2361f47d09589c.zip
kernel_samsung_smdk4412-b4331df968b885b4df986753ae2361f47d09589c.tar.gz
kernel_samsung_smdk4412-b4331df968b885b4df986753ae2361f47d09589c.tar.bz2
fbmem: Check failure of FBIOPUTCMAP ioctl
On FBIOPUTCMAP ioctl failure deallocate fb cmap. Put null check for cmap red, green, blue component. Change-Id: I10468ee30d0e76c256cf3d7a6ffe14db7fd4511b Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
Diffstat (limited to 'drivers/video/fbmem.c')
-rw-r--r--drivers/video/fbmem.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index fcc52d4..4716e62 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1108,6 +1108,10 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
if (copy_from_user(&cmap, argp, sizeof(cmap)))
return -EFAULT;
ret = fb_set_user_cmap(&cmap, info);
+ if (ret) {
+ if (info)
+ fb_dealloc_cmap(&info->cmap);
+ }
break;
case FBIOGETCMAP:
if (copy_from_user(&cmap, argp, sizeof(cmap)))