staging: vc04_services: fix NULL pointer dereference on pointer 'service'
authorColin Ian King <colin.king@canonical.com>
Mon, 20 Mar 2017 14:08:50 +0000 (14:08 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 21 Mar 2017 07:36:14 +0000 (08:36 +0100)
Currently, if pservice is null then service is set to NULL and immediately
afterwards service is dereferenced causing a null pointer dereference. Fix
this by bailing out early of the function with a null return.

Detected by CoverityScan, CID#1419681 ("Explicit null dereferenced")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c

index dc9f85c2a5daae06d40e4dafd309579f19dabb21..4f9e738abddff744638308ffa7235e782c909941 100644 (file)
@@ -2673,7 +2673,7 @@ vchiq_add_service_internal(VCHIQ_STATE_T *state,
 
        if (!pservice) {
                kfree(service);
-               service = NULL;
+               return NULL;
        }
 
        service_quota = &state->service_quotas[service->localport];