tools/coverity: Add models for av_mallocz and av_free

This should deal with some false positives, but might lead to
more of them depending on whether it realises that av_freep()
wraps av_free() or not.
This commit is contained in:
Philip Langdale 2016-11-27 11:16:18 -08:00
parent 115b834dcf
commit 5eb6852063
1 changed files with 25 additions and 3 deletions

View File

@ -35,8 +35,30 @@
void *av_malloc(size_t size) {
int has_memory;
__coverity_negative_sink__(size);
if(has_memory)
return __coverity_alloc__(size);
else
if (has_memory) {
void *ptr = __coverity_alloc__(size);
__coverity_mark_as_uninitialized_buffer__(ptr);
__coverity_mark_as_afm_allocated__(ptr, "av_free");
return ptr;
} else {
return 0;
}
}
void *av_mallocz(size_t size) {
int has_memory;
__coverity_negative_sink__(size);
if (has_memory) {
void *ptr = __coverity_alloc__(size);
__coverity_writeall0__(ptr);
__coverity_mark_as_afm_allocated__(ptr, "av_free");
return ptr;
} else {
return 0;
}
}
void *av_free(void *ptr) {
__coverity_free__(ptr);
__coverity_mark_as_afm_freed__(ptr, "av_free");
}