malloc.cpp 823 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include "malloc.h"
  4. namespace {
  5. bool SetEmptyParam(const char*, const char*) {
  6. return false;
  7. }
  8. const char* GetEmptyParam(const char*) {
  9. return nullptr;
  10. }
  11. bool CheckEmptyParam(const char*, bool defaultValue) {
  12. return defaultValue;
  13. }
  14. }
  15. namespace NMalloc {
  16. volatile bool IsAllocatorCorrupted = false;
  17. TMallocInfo::TMallocInfo()
  18. : Name()
  19. , SetParam(SetEmptyParam)
  20. , GetParam(GetEmptyParam)
  21. , CheckParam(CheckEmptyParam)
  22. {
  23. }
  24. void AbortFromCorruptedAllocator(const char* errorMessage) {
  25. errorMessage = errorMessage ? errorMessage : "<unspecified>";
  26. fprintf(stderr, "Allocator error: %s\n", errorMessage);
  27. IsAllocatorCorrupted = true;
  28. abort();
  29. }
  30. }