dmaengine: qcom_hidma: avoid freeing an uninitialized pointer
authorAnton Vasilyev <vasilyev@ispras.ru>
Thu, 10 Aug 2017 15:54:25 +0000 (18:54 +0300)
committerVinod Koul <vinod.koul@intel.com>
Mon, 21 Aug 2017 16:21:00 +0000 (21:51 +0530)
If device_node np doesn't contain child or first child doesn't have
property "reg" then hidma_mgmt_of_populate_channels() perfoms
deallocation on uninitialized local variable res.

The patch adds res initialization by NULL.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Anton Vasilyev <vasilyev@ispras.ru>
Reviewed-by: Sinan Kaya <okaya@codeaurora.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/qcom/hidma_mgmt.c

index c45e244b2d9937aaf3a13b0a9cef1f44659675d5..7335e2eb9b72a1fffc01d51317b6eff8d9c4bee7 100644 (file)
@@ -358,7 +358,7 @@ static int __init hidma_mgmt_of_populate_channels(struct device_node *np)
        struct platform_device_info pdevinfo;
        struct of_phandle_args out_irq;
        struct device_node *child;
-       struct resource *res;
+       struct resource *res = NULL;
        const __be32 *cell;
        int ret = 0, size, i, num;
        u64 addr, addr_size;