drm/i2c: tda998x: Fix memory leak in tda998x_encoder_init error path.
authorDave Jones <davej@redhat.com>
Thu, 13 Feb 2014 03:47:51 +0000 (22:47 -0500)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 13 Feb 2014 19:40:24 +0000 (19:40 +0000)
Commit 6ae668cc19e8 (drm/i2c: tda998x: check the CEC device creation)
introduced a memory leak in the error path of tda998x_encoder_init

Picked up by the nightly Coverity scan. CID 1174076

Signed-off-by: Dave Jones <davej@fedoraproject.org>
Acked-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/gpu/drm/i2c/tda998x_drv.c

index fa18cf37447037fc8545719880a2abd91a2c9248..faa77f543a077da2c624e47638693b6566b146ff 100644 (file)
@@ -1151,8 +1151,10 @@ tda998x_encoder_init(struct i2c_client *client,
 
        priv->current_page = 0xff;
        priv->cec = i2c_new_dummy(client->adapter, 0x34);
-       if (!priv->cec)
+       if (!priv->cec) {
+               kfree(priv);
                return -ENODEV;
+       }
        priv->dpms = DRM_MODE_DPMS_OFF;
 
        encoder_slave->slave_priv = priv;