OSDN Git Service

staging: bcm2835-camera: add check to avoid null pointer dereference
authorAishwarya Pant <aishpant@gmail.com>
Thu, 9 Mar 2017 19:00:58 +0000 (00:30 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2017 09:13:07 +0000 (10:13 +0100)
This patch adds checks after memory allocation to avoid possible null
pointer dereferences.

Signed-off-by: Aishwarya Pant <aishpant@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c

index 5a431bc..436e489 100644 (file)
@@ -260,8 +260,11 @@ get_msg_context(struct vchiq_mmal_instance *instance)
 
        /* todo: should this be allocated from a pool to avoid kmalloc */
        msg_context = kmalloc(sizeof(*msg_context), GFP_KERNEL);
-       memset(msg_context, 0, sizeof(*msg_context));
 
+       if (!msg_context)
+               return NULL;
+
+       memset(msg_context, 0, sizeof(*msg_context));
        msg_context->instance = instance;
        msg_context->handle =
                mmal_context_map_create_handle(&instance->context_map,
@@ -2015,8 +2018,11 @@ int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance)
        }
 
        instance = kmalloc(sizeof(*instance), GFP_KERNEL);
-       memset(instance, 0, sizeof(*instance));
 
+       if (!instance)
+               return -ENOMEM;
+
+       memset(instance, 0, sizeof(*instance));
        mutex_init(&instance->vchiq_mutex);
        mutex_init(&instance->bulk_mutex);