diff --git a/src/util/viralloc.c b/src/util/viralloc.c index 8008f33db3182c8bdc3402e45ee29e6b195cf9ff..27ed74a26ef0e579424f4ab5428cefcdaeb0b4f3 100644 --- a/src/util/viralloc.c +++ b/src/util/viralloc.c @@ -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)) {