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

Recent releases

  •  11 Apr 2009 22:48

    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.

    •  28 Apr 2008 00: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.

      •  10 Mar 2008 02: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 21: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.

          •  21 Jan 2008 00:57

            Release Notes: A major bugfix in thread safety.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.