xiaoxiang781216 commented on code in PR #7776: URL: https://github.com/apache/nuttx/pull/7776#discussion_r1043167937
########## drivers/video/video_framebuff.c: ########## @@ -114,34 +95,27 @@ void video_framebuff_uninit(video_framebuff_t *fbuf) int video_framebuff_realloc_container(video_framebuff_t *fbuf, int sz) { - if (fbuf->vbuf_alloced == NULL || fbuf->container_size != sz) - { - if (fbuf->container_size != sz) - { - if (fbuf->vbuf_alloced != NULL) - { - kmm_free(fbuf->vbuf_alloced); - } + vbuf_container_t *vbuf; - fbuf->vbuf_alloced = NULL; - fbuf->container_size = 0; - } - - if (sz > 0) - { - fbuf->vbuf_alloced - = (vbuf_container_t *)kmm_malloc(sizeof(vbuf_container_t)*sz); - if (fbuf->vbuf_alloced == NULL) - { - return -ENOMEM; - } - } + if (fbuf->container_size == sz) + { + return OK; + } - fbuf->container_size = sz; + vbuf = kmm_realloc(fbuf->vbuf_alloced, sizeof(vbuf_container_t) * sz); Review Comment: Zero mean free and return null pointer which is the standard behavior required by realloc: https://github.com/apache/nuttx/blob/master/mm/mm_heap/mm_realloc.c#L85-L89 This is also the reason why the following code check sz != 0 before return -ENOMEM: https://github.com/apache/nuttx/pull/7776/files#diff-ce724983e0699b4ea65c8509598f6b6d31e824418383f5efb12a279cb932d8f1R110-R113 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org