mtd: gpmi: fix raw_buffer pointer double free issue
authorHan Xu <han.xu@nxp.com>
Mon, 4 Apr 2016 20:41:29 +0000 (15:41 -0500)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Tue, 19 Apr 2016 20:04:52 +0000 (22:04 +0200)
fix the raw_buffer pointer double free issue found by coverify.

CID 18344 (#2 of 2): Double free (USE_AFTER_FREE)
3. double_free: Calling gpmi_alloc_dma_buffer frees pointer
this->raw_buffer which has already been freed

Signed-off-by: Han Xu <han.xu@nxp.com>
Reviewed-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/mtd/nand/gpmi-nand/gpmi-nand.c

index 8122c699ccf20895e400b8ae9246b39db00b1f00..dcb60b0fe5ebb100525c83d39177c651fb599ce1 100644 (file)
@@ -797,6 +797,7 @@ static void gpmi_free_dma_buffer(struct gpmi_nand_data *this)
 
        this->cmd_buffer        = NULL;
        this->data_buffer_dma   = NULL;
+       this->raw_buffer        = NULL;
        this->page_buffer_virt  = NULL;
        this->page_buffer_size  =  0;
 }