width和stride不一致时引起的double free or corruption (!prev)

今天写代码时遇到double free or corruption (!prev)这个错误。
自己写代码,怎么会double free呢,调试了好久都没结果,怎么可能出这样的错误。

吃完饭回来,才发现。 在处理图像数据时使用了memcpy函数,
处理前申请memory是以width申请的,进行memcpy的时候使用的是stride,而自己设置的stride是大于width。所以导致了double free or corruption (!prev)
其实在libyuv中也是强调stride,忽略width.

posted @ 2020-10-29 19:46  cyssmile  阅读(2709)  评论(0编辑  收藏  举报