ffmpeg推薦用av_freep,av_freep可以解決dangling指針的問題:
avfreep的用法如下:
int main()
{
int size = 100;
uint8_t *data = NULL;
data = av_malloc(size);
av_freep(&data);
//av_free(data);
return 1;
}
採用av_freep後,data爲NULL,而用av_free,則data爲野指針。
其中av_freep的實現如下:
void av_freep(void *arg)
{
void *val;
memcpy(&val, arg, sizeof(val));
memcpy(arg, &(void *){ NULL }, sizeof(val));
av_free(val);
}
可見,多了一個指針清0的操作。