drivers/video: use kmm_free(buff) to free memory instead of realloc(buff, 0) which is abandoned

ref: https://github.com/apache/nuttx/pull/9151/commits/89d61f4eb4fd60ac88cd6a05b1957babcd4f9150

Signed-off-by: lile7 <lile7@xiaomi.com>
This commit is contained in:
lile7
2023-07-12 02:33:17 +08:00
committed by Xiang Xiao
parent c33d1c9c97
commit a3db142fbf
+16 -8
View File
@@ -103,19 +103,27 @@ int video_framebuff_realloc_container(video_framebuff_t *fbuf, int sz)
return OK;
}
vbuf = kmm_realloc(fbuf->vbuf_alloced, sizeof(vbuf_container_t) * sz);
if (vbuf != NULL)
if (sz > 0)
{
memset(vbuf, 0, sizeof(vbuf_container_t) * sz);
vbuf = kmm_realloc(fbuf->vbuf_alloced, sizeof(vbuf_container_t) * sz);
if (vbuf != NULL)
{
memset(vbuf, 0, sizeof(vbuf_container_t) * sz);
fbuf->vbuf_alloced = vbuf;
fbuf->container_size = sz;
}
else
{
return -ENOMEM;
}
}
else if (sz != 0)
else
{
return -ENOMEM;
kmm_free(fbuf->vbuf_alloced);
fbuf->vbuf_alloced = NULL;
fbuf->container_size = 0;
}
fbuf->vbuf_alloced = vbuf;
fbuf->container_size = sz;
init_buf_chain(fbuf);
return OK;
}