mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-27 05:20:50 +00:00
coverity-model: constrain g_malloc/g_malloc0/g_realloc as never returning NULL
g_malloc/g_malloc0/g_realloc only return NULL if the size is 0; we do not need to cover that in the model, and so far have expected __coverity_alloc__ to model a non-NULL return value. But that apparently does not work anymore, so add some extra conditionals that invoke __coverity_panic__ for NULL pointers. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
05ad6857a5
commit
0da41187df
@ -183,6 +183,9 @@ void *g_malloc_n(size_t nmemb, size_t size)
|
||||
__coverity_negative_sink__(nmemb);
|
||||
__coverity_negative_sink__(size);
|
||||
ptr = __coverity_alloc__(nmemb * size);
|
||||
if (!ptr) {
|
||||
__coverity_panic__();
|
||||
}
|
||||
__coverity_mark_as_uninitialized_buffer__(ptr);
|
||||
__coverity_mark_as_afm_allocated__(ptr, AFM_free);
|
||||
return ptr;
|
||||
@ -195,6 +198,9 @@ void *g_malloc0_n(size_t nmemb, size_t size)
|
||||
__coverity_negative_sink__(nmemb);
|
||||
__coverity_negative_sink__(size);
|
||||
ptr = __coverity_alloc__(nmemb * size);
|
||||
if (!ptr) {
|
||||
__coverity_panic__();
|
||||
}
|
||||
__coverity_writeall0__(ptr);
|
||||
__coverity_mark_as_afm_allocated__(ptr, AFM_free);
|
||||
return ptr;
|
||||
@ -206,6 +212,9 @@ void *g_realloc_n(void *ptr, size_t nmemb, size_t size)
|
||||
__coverity_negative_sink__(size);
|
||||
__coverity_escape__(ptr);
|
||||
ptr = __coverity_alloc__(nmemb * size);
|
||||
if (!ptr) {
|
||||
__coverity_panic__();
|
||||
}
|
||||
/*
|
||||
* Memory beyond the old size isn't actually initialized. Can't
|
||||
* model that. See Coverity's realloc() model
|
||||
|
Loading…
Reference in New Issue
Block a user