PANICTRACE memory leak

Changing from BETA to RELEASED resulted in turning off PANICTRACE
and that exposed a minor memory leak.  Only applies to program exit
so doesn't impact play.
This commit is contained in:
PatR
2019-12-06 12:59:18 -08:00
parent 7ea41cd31d
commit afb4a67f0e
2 changed files with 35 additions and 3 deletions

33
doc/fixes36.4 Normal file
View File

@@ -0,0 +1,33 @@
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.0 $ $NHDT-Date: 1575665952 2019/12/06 20:59:12 $
This fixes36.4 file is here to capture information about updates in the 3.6.x
lineage following the release of 3.6.3 in December 2019. Hypothetical version
3.6.4 may not be released, in which case these fixes will appear in 3.7.0.
General Fixes and Modified Features
-----------------------------------
GDBPATH and GREPPATH from sysconf or -D... on compilation command line were
being processed even if PANICTRACE was disabled but only being freed
at end of game when that was enabled
Fixes to Post-3.6.3 Problems that Were Exposed Via git Repository
------------------------------------------------------------------
Platform- and/or Interface-Specific Fixes or Features
-----------------------------------------------------
General New Features
--------------------
NetHack Community Patches (or Variation) Included
-------------------------------------------------
Code Cleanup and Reorganization
-------------------------------

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 sys.c $NHDT-Date: 1547118632 2019/01/10 11:10:32 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.43 $ */
/* NetHack 3.6 sys.c $NHDT-Date: 1575665952 2019/12/06 20:59:12 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.46 $ */
/* Copyright (c) Kenneth Lorber, Kensington, Maryland, 2008. */
/* NetHack may be freely redistributed. See license for details. */
@@ -107,12 +107,11 @@ sysopt_release()
if (sysopt.genericusers)
free((genericptr_t) sysopt.genericusers),
sysopt.genericusers = (char *) 0;
#ifdef PANICTRACE
if (sysopt.gdbpath)
free((genericptr_t) sysopt.gdbpath), sysopt.gdbpath = (char *) 0;
if (sysopt.greppath)
free((genericptr_t) sysopt.greppath), sysopt.greppath = (char *) 0;
#endif
/* this one's last because it might be used in panic feedback, although
none of the preceding ones are likely to trigger a controlled panic */
if (sysopt.fmtd_wizard_list)