~trn/duma

888ece50f9e99de95cb0dec1a2ffd9b902b19d54 — Jeffrey H. Johnson 12 days ago 05363ad
Update CHANGELOG.md: Corrections
1 files changed, 44 insertions(+), 45 deletions(-)

M CHANGELOG.md
M CHANGELOG.md => CHANGELOG.md +44 -45
@@ 45,7 45,7 @@

- Other minor changes
- Updated shell scripts
- Fixed *Debian+ release info
- Fixed *Debian* release info

## 2.5.18 (2020-12-18)



@@ 67,7 67,7 @@
  (2020-08-24, JJ)
- Applied various update patches from the *Buildroot Project*
  (2020-10-28, JJ)
- Applied a patch from *Swati Kumari* for additional `NUL`L checks
- Applied a patch from *Swati Kumari* for additional `NULL` checks
  (2015-07-30, JJ)
- Applied a patch for bug ID *3035145* from *Reinhard Katzmann*
  (2010-07-26, JJ)


@@ 206,13 206,13 @@
  (2008-01-15, HA)
- Added HTML comparison charts / text with C source code examples from
  http://www.cs.utexas.edu/~jpmartin/memCheckers.html
  into sub-direcroey comparisons with kind permission of *Jean-Philippe Martin*
  into sub-directory comparisons with kind permission of *Jean-Philippe Martin*
- Update `Makefile` for all C source files
  (2008-01-14, HA)
- Bugfix for `Makefile` target `install` when `DUMASO` is empty; bug was reported
  by *Louis Strous*
  (2008-01-09, HA)
- Added hint where No-Mans-Land was overwritten below or above user-space
- Added hint where *No-Mans-Land* was overwritten (below or above user-space)
  (2008-01-03, HA)

## 2.5.9 (2007-12-23)


@@ 229,7 229,7 @@
    core dump file that can be used for post-mortem analysis
    (2007-09-02, HA)
- Bugfix for `_duma_strncpy()`: no more calls to `strlen()`, reported by
  [Kamall Neet](mailto:kamalneet@gmail.com)
  [Kamal Neet](mailto:kamalneet@gmail.com)
- Applied patch from [Eddy Pronk](mailto:epronk@users.sourceforge.net)
  submitted to *SourceForge* with title "*libduma.so on Solaris*"
  (2007-11-13, HA)


@@ 252,8 252,8 @@
- Added empty definitions for macro functions `DUMA_SET_ALIGNMENT()`,
  `DUMA_SET_PROTECT_BELOW()`, and `DUMA_SET_FILL()`
- Updated `README` on shell environment variable options, added some entries
  to section *OTHER ALTERNATIVE / ADDITIONAL DEBUGGING SOFTWARE / TOOLS* and
  added section *COMPILATION NOTES FOR RELEASE / PRODUCTION*
  to section *"OTHER ALTERNATIVE / ADDITIONAL DEBUGGING SOFTWARE / TOOLS"* and
  added section *"COMPILATION NOTES FOR RELEASE / PRODUCTION"*
  (2007-08-18, HA)
- Add single-line function `duma_alloc_return()`; all memory allocated from
  **DUMA** is returned through this function. This allows you to set a


@@ 270,17 270,17 @@
- Switched off leak detection in shared library for all platforms; use the
  static library for finding leaks, with information where the memory was
  allocated
  - Full leak checking without further information is quite useless! Too many
    "*correct*" programs don't free all memory, causinf the system to free the
    memory up at program teemination. As a result, too many platforms / environments
    are reported "*broken*" by **DUMA**
  - *NOTE*: Full leak checking without further information is quite useless. Too many
    "*correct*" programs don't free all memory, causing the system to free the
    memory at program termination. As a result, many platforms / environments
    are reported as "*broken*" by **DUMA**
- Output allocator type (`malloc`, `strdup`, `…`) with leak reporting for each
  non-free'd memory block
- Removed option `DUMA_USE_FRAMENO` and the `frameno` variable; I suppose nobody
  is using it, but, additionally, it is not thread-safe
- Added option `DUMA_PREFER_GETENV`; if you prefer standard C library `getenv()`
  over global char `\*\*environ`
- Added function `duma_check(void\*)` and macro `DUMA_CHECK()`; it checks the
  over global char `**environ`
- Added function `duma_check(void*)` and macro `DUMA_CHECK()`; it checks the
  *No-Mans-Land* - especially the unprotected end - of the memory block
- Added function `duma_checkAll()` and macro `DUMA_CHECKALL()`; it checks
  the *No-Mans-Land* - especially the unprotected end - of all allocated


@@ 322,7 322,7 @@

## 2.5.3 (2007-07-15)

- Added simple `Makefile` for examples in sub-directory `example_makes/ex\*`
- Added simple `Makefile` for examples in sub-directory `example_makes/ex*`
- Modified `Makefile` to avoid build of shared libs / executables specific to OS
- `dumapp.h` now keeps C macro definitions
- Support for *Mac OS X* when calling *make* with `OS=osx`


@@ 340,7 340,7 @@

- Other minor corrections
- Added preprocessor option `DUMA_SEMAPHORES` to select pthreads locking
  mechanism; semaphores or mutexes
  mechanism: semaphores or mutexes
- Removed automatically generated *Visual C++* file `detoursexample1.ncb`
  from CVS and archives
  (2007-07-12, HA)


@@ 361,7 361,7 @@

- Documentation updates
  - Use *Natural Docs*
- Win32-specific fixes:
- Win32-specific fixes
  - *Detours* support for using **DUMA** (*with just binaries*)
  - Compile a **DUMA** DLL
  - **DUMA** can perform stack traces of each allocation


@@ 382,7 382,7 @@
- Fix to obey `EXPLICIT_INIT` in `testoperators.cpp`
  (2006-06-18, HA)
- Fix: As in Request-ID *1482267* on *SF*: Updated install directory for manual:
  `${prefix}/share/man/man3` should fit the *Filesystem Hierarchy Standard*
  `$prefix/share/man/man3` should fit the *Filesystem Hierarchy Standard*
  (*FHS*) 2.3 for `/usr` and `/usr/local`
  (2006-06-18, HA)



@@ 391,8 391,8 @@
- Published a German-language article about **DUMA** on http://duma.sourceforge.net/
- Bugfix: Removed buffer overflow in `DUMA_sprintf()` for long file names
  - Added parameter `maxsize` for output buffers in some functions
  - Incremented `STRING_BUFFER_SIZE` to reduce this risk;
    This bug was reported by *<mailto:loigu@volny.cz>*
  - Incremented `STRING_BUFFER_SIZE` to reduce this risk; bug reported
    by *<loigu@volny.cz>*
  (2006-01-09, HA)

## 2.4.26 (2005-10-28)


@@ 410,7 410,7 @@
## 2.4.25 (2005-10-21)

- Bugfix: semaphores were not initialized correctly; this lead to a hang
  Thanks for reporting and providing a test environment go to
  - Thanks for reporting (*and providing a test environment*) go to
  [Tim Braun](mailto:braun@informatik.uni-kl.de)
- Fixes for *Dev-C++* from [Benjamin Berkels](mailto:benjamin.berkels@ins.uni-bonn.de)
  - Updated project files for *Dev-C++* 4.9.9.2 / *GCC* 3.3.1


@@ 421,8 421,8 @@

## 2.4.24 (2005-10-10)

- New program `testoperators`: writes it's own member `new` / `delete` operator with
  file-name and line number forwarding to **DUMA**
- New program `testoperators` writes it's own member `new` / `delete` operator with
  file name and line number forwarding to **DUMA**
- Reworked `Makefile`: Added `tstheap_so`, which runs with shared library
- Output in banner now shows which library (*static* / *shared*) is in use
  (2005-10-09, HA)


@@ 430,15 430,15 @@
## 2.4.23 (2005-10-08)

- Write **DUMA**'s preprocessor flags at compile time to `duma_config.h`
- Updates `Makefile`
- Update `Makefile`
  (2005-10-07, HA)

## 2.4.22 (2005-10-06)

- C++ `new` operators are now (*more*) standard conforming; allocation of
  size equal to zero (0) now return a non-zero (0) pointer
- C++ `new` operators are now (*more*) standard conforming; allocations of
  size equal to zero (`0`) now returns a non-zero (`!0`) pointer
- New option `DUMA_SUPPRESS_ATEXIT` as environment variable from
  [Tim Braun](mailto:braun@informatik.uni-kl.de): suppress call to C
  [Tim Braun](mailto:braun@informatik.uni-kl.de) that suppress calls to the C
  library's `atexit()` function for **DUMA**'s leak checking function in buggy
  environments (*where `atexit()` hangs*)
- Implemented alternative for C library's `atexit()` using the *GNU C* compiler's


@@ 456,7 456,7 @@
- Modified `Makefile`: name for shared library and symbolic links now
  configurable at start
- Update `README`
- Sort `TODO` (*by priority*)
- Sort `TODO` by priority
  (2005-10-04, HA)
- Bugfix: Follow `enum _DUMA_FailReturn` in `_duma_allocate()` function
- Bugfix: Initializing `userAddr` in `_duma_allocate()` function may lead to bug


@@ 527,9 527,9 @@
## 2.4.17 (2005-09-10)

- Forked *Electric Fence*, because *Bruce Perens* wrote:
  > … Hayati Ayguen must choose another name for his program …
  > … Hayati Ayguen must choose another name for his program
  > … "Electric Fence" is a trademark he is not permitted to use …
- Opened a "_new_" project **DUMA**: _Detect Unintended Memory Access_
- Opened a "_new_" project for **DUMA** (_Detect Unintended Memory Access_)
  - Rename _efence_ to **duma**
  - Rename _Electric Fence_ to **DUMA**
  - Rename `EF_ to DUMA_`


@@ 557,9 557,8 @@

## 2.4.15 (2005-07-24)

- Bugfixed page management under *Windows*; virtual address space never got
  released. Unfortunately, this "quick" fix avoids memory pooling
  under *Microsoft Windows*
- Bugfixed page management under *Microsoft Windows*; virtual address space was never
  released. Unfortunately, this "quick" fix avoids memory pooling on *Windows*
- Remove double "*Electric Fence:*" messages when calling `EF_Abort()`
  or `EF_Exit()`
  (2005-07-24, HA)


@@ 576,11 575,11 @@
    to *efence*
  (2005-07-15, HA)
- Integrated a patch from [Zbynek Vyskovsky](mailto:kvr@centrum.cz) in his
  words: "I modified Electric Fence a little, to be able to catch free-ing
  words: "*I modified Electric Fence a little, to be able to catch free-ing
  memory via watch point in debugger. The patch (attached) solves the
  problem when you are watching expression for change and suddenly
  realize the memory containing expression disappeared. It has no
  other effect, just makes debugging easier."
  other effect, just makes debugging easier.*"
  (2005-07-11, HA)
- Bugfix for internal slot mode `EFST_DEALLOCATED` reported by *Mikolas Patocka*
  error occurred when user-space memory region of freed memory is reused from


@@ 608,7 607,7 @@
  of deallocation calls
  (2005-02-10, HA)
- Reworked / revised *ALL* internal functions (*!!!*)
- Free-ing already free'd memory is now detected (*much better*)
- Free-ing already freed memory is now (*better*) detected
- Disallows coalescing memory regions and also stores
  `__FILE__` and `__LINE__` of `free()` to be able to print position
  of first free


@@ 627,14 626,14 @@
## 2.4.12 (2005-01-05)

- Added `EF_NO_GLOBAL_MALLOC_FREE` preprocessor flag to work-around buggy
  environments: no `malloc()`, `free()`, '`realloc()`, `calloc()` are put into the
  environments: no `malloc()`, `free()`, `realloc()`, `calloc()` are put into the
  global name-space of the *efence* library, thus only files which include
  `efence.h` call the *efence* `malloc()`, `…` replacement functions. This flag
  is also helpful where linking order cannot get controlled e.g. when
  memory is allocated from a library not using *efence*, but `free` is
  called from *efence* using *efence*. This is a problem when using
  DLL libraries, which are linked against `msvcrt.dll` and its
  `malloc()`/`free()` under *Microsoft Windows*. The same problem applies
  `malloc()` / `free()` under *Microsoft Windows*. The same problem applies
  when `libstdc++` / `libgcc` is not linked in correct order
  (2005-01-04, HA)



@@ 658,11 657,11 @@
- Added `EF_ASSERT()` which definitely halts (*for debugging*)
- Precompiled headers have to be switched off in *Microsoft Visual C++* to get all the
  C++ operators to work, but don't ask me why!
- Implemented all the various `new`/`delete`/`new[]`/`delete[]` C++ operators. The
- Implemented all the various `new` / `delete` / `new[]` / `delete[]` C++ operators. The
  implementations are not C++ conforming concerning their behavior added type
  mismatch detection between `malloc()`/`free()`, `new`/`delete`, `new[]`/`delete[]`;
  mismatch detection between `malloc()` / `free()`, `new` / `delete`, `new[]` / `delete[]`;
  this is deactivated when `EF_NO_LEAKDETECTION` is set
- Added `EF_MALLOC_FAILEXIT` parameter (for now, not implemented)
- Added `EF_MALLOC_FAILEXIT` parameter (*for now, not implemented*)
- Extended semantics of `EF_PROTECT_FREE`
- Added `EF_MAX_ALLOC` parameter
- Bugfix: Why should we ever use `Page_Delete()` when setting up the


@@ 710,7 709,7 @@
    *Borland* didn't like them, and neither *Microsoft Visual C++* 6.0, nor *gcc*
    (*Dev-C++*) needs them
  - Added project files in sub-dirextory `win32-vide` for *VIDE* 1.24 using
    *Borland C++ Builder* 5.5 (*see http://www.objectcentral.com*)
    *Borland C++ Builder* 5.5 (*See http://www.objectcentral.com/*)
  (2002-11-22, HA)

## 2.4.6 (2002-11-18)


@@ 718,8 717,8 @@
- Remove memory leak in eftest
- Allow re-inclusion of `efence.h` after inclusion of `efenceint.h`
- Added some project files in sub-directory `win32-devcpp` for *Dev-C++* 4.9.6
  using *gcc* (*see http://www.bloodshed.net*) and saved its generated
  `Makefile`'s; left tstheap's memory leaks
  using *gcc* (*See http://www.bloodshed.net/*) and saved its generated
  `Makefile`'s; left `tstheap`'s memory leaks
  (2002-11-18, HA)

## 2.4.5 (2002-11-17)


@@ 732,7 731,7 @@
## 2.4.4 (2002-11-03)

- Separation of C++ files: `efencepp.h`, `efencepp.cpp`
- Rename `EF_push()`/`EF_pop()` to `EF_newFrame()`/`EF_delFrame()`
- Rename `EF_push()` / `EF_pop()` to `EF_newFrame()` / `EF_delFrame()`
- Add new compile option `EF_NO_LEAKDETECTION`
- Add new compile option `EF_NO_CPP`
- Split `efence.h` to `efence.h` and `efenceint.h`


@@ 762,7 761,7 @@

## 2.4.1 (2002-10-06)

- Port to *Windows NT* (*2000*/*XP*) by adding sections to following functions:
- Port to *Windows NT* (*2000* / *XP*) by adding sections to following functions:
  - `Page_AllowAccess()`
  - `Page_Create()`
  - `Page_Delete()`