mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
Fix reporting of errors in OOM injection code
When the various viralloc.c functions were changed to use the normal error reporting code, the OOM injection code paths were not updated to report errors. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
5dd3b5e32a
commit
ecd2ba6893
@ -132,6 +132,9 @@ int virAlloc(void *ptrptr,
|
||||
#if TEST_OOM
|
||||
if (virAllocTestFail()) {
|
||||
*(void **)ptrptr = NULL;
|
||||
if (report)
|
||||
virReportOOMErrorFull(domcode, filename, funcname, linenr);
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
@ -176,6 +179,9 @@ int virAllocN(void *ptrptr,
|
||||
#if TEST_OOM
|
||||
if (virAllocTestFail()) {
|
||||
*(void **)ptrptr = NULL;
|
||||
if (report)
|
||||
virReportOOMErrorFull(domcode, filename, funcname, linenr);
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
@ -220,8 +226,12 @@ int virReallocN(void *ptrptr,
|
||||
{
|
||||
void *tmp;
|
||||
#if TEST_OOM
|
||||
if (virAllocTestFail())
|
||||
if (virAllocTestFail()) {
|
||||
if (report)
|
||||
virReportOOMErrorFull(domcode, filename, funcname, linenr);
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (xalloc_oversized(count, size)) {
|
||||
@ -529,8 +539,12 @@ int virAllocVar(void *ptrptr,
|
||||
size_t alloc_size = 0;
|
||||
|
||||
#if TEST_OOM
|
||||
if (virAllocTestFail())
|
||||
if (virAllocTestFail()) {
|
||||
if (report)
|
||||
virReportOOMErrorFull(domcode, filename, funcname, linenr);
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (VIR_ALLOC_VAR_OVERSIZED(struct_size, count, element_size)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user