Projects / DUMA


DUMA (Detect Unintended Memory Access) stops your program on the exact instruction that overruns (or underruns) a malloc() memory buffer. GDB will then display the source-code line that causes the bug. It works by using the virtual-memory hardware to create a red-zone at the border of each buffer: touch that, and your program stops. It can catch formerly impossible-to-catch overrun bugs. DUMA is a fork of Bruce Perens' Electric Fence library.

Operating Systems

RSS Recent releases

  •  12 Apr 2009 15:58

    Release Notes: This release implements an alternative locking mechanism using critical sections on Win32. It adds Windows Threading to testmt.c. It uses WIN32_SEMAPHORES on Win32-Cygwin. It fixes CreateSemaphore() counts on Win32. It fixes a race condition when using macro delete. It has a bugfix in strncpy(): error check was too rigorous.

    •  27 Apr 2008 17:45

    Release Notes: The switch DUMA_ALLOW_MALLOC_0 has been removed. The switches DUMA_MALLOC_0_STRATEGY and DUMA_NEW_0_STRATEGY have been added, and now the allocator for size zero is ANSI/C++ standard compliant. Most compiler warnings have been removed. A suggestion for ~/.gdbinit and a hint on mprotectFailed() have been added. The README has been updated.

    •  09 Mar 2008 18:29

    Release Notes: There is a major bugfix for a hang of the testoperators test case on 64-bit Linux platforms (x86_64 and MIPS64).

    •  25 Jan 2008 13:30

    Release Notes: This release adds the environment variable 'DUMA_CHECK_FREQ' to autmatically check all memory no man's land at each n'th allocation/deallocation. n=0 to deactivate automatic checks. README.txt has been updated.

    •  20 Jan 2008 16:57

    Release Notes: A major bugfix in thread safety.


    Project Spotlight


    A lightweight SSL/TLS library supporting up to TLS 1.2 and DTLS 1.2.


    Project Spotlight


    Intercepts and logs database statements of applications using JDBC