提交 ecd2ba68 编写于 作者: D Daniel P. Berrange

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: NDaniel P. Berrange <berrange@redhat.com>
上级 5dd3b5e3
......@@ -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)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册