summaryrefslogtreecommitdiff
path: root/src/z_zone.c
AgeCommit message (Collapse)Author
2015-04-28include <string.h> in z_zone.c for memset()Fabian Greffrath
2015-04-26zone: Add -zonescan parameter.Simon Howard
As further tooling to help debug bugs like #530, add a command line parameter that will scan the zone heap every time a block of memory is freed with Z_Free(), to detect dangling pointers to the freed block.
2015-04-26zone: Add -zonezero parameter.Simon Howard
As seen in bug #530, some of the game code can in some situations hold pointers to, and dereference, freed sections of the zone heap. Add a new command line parameter that zeroes out memory of blocks when they are freed with Z_Free(), hopefully exposing code that depends on reading freed memory.
2014-10-16Fix crash caused by adding a new WAD file.Simon Howard
This fixes #442, a crash caused by adding a new WAD file after a lump has been loaded (and cached) from a previous WAD. This manifested when playing using the Freedoom IWADs and also loading a PWAD at the same time. The Freedoom IWADs have DEHACKED lumps that are loaded from within the IWAD file. The ultimate cause (thanks to Fabian Greffrath for uncovering it) is that lumpinfo is realloc()ed after each new WAD load to store the lumpinfo_t structures from the new WAD. If a lump has been read and cached from a previous WAD file, it may end up having an invalid 'user' pointer that points to somewhere in the old lumpinfo[] array, not the new one. I think this bug was masked because realloc() will often not move data if the previous location can simply be extended. The bug was discovered when loading BTSX as a PWAD, probably because it's a large WAD that contains a lot of lumps, and forced a move during realloc.
2014-05-05Clean up file headers.Simon Howard
This change rewrites and simplifies the copyright headers at the top of all source files: * Remove "Emacs style mode select" line; this line was included in the headers for the originally released source files and appears to be to set the file type for old versions of Emacs. I'm not sure entirely why it was required but I don't think it is any more. * Remove "You should have received a copy of..." text from copyright header. This refers to the old 59 Temple Place address where the FSF headquarters used to be located and is no longer correct. Rather than change to the new address, just remove the paragraph as it is superfluous anyway. This fixes #311. * Remove ---- separator lines so that the file headers are barer and more simplified.
2010-08-31Merge from trunk.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1987
2010-08-20Align memory allocated by zone memory system to 8 byte boundaries onSimon Howard
64-bit machines. Possibly fixes problems on sparc64? Subversion-branch: /trunk/chocolate-doom Subversion-revision: 1959
2009-07-13Merge from trunk.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1626
2009-07-12Fix compile with libsamplerate.Simon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 1620
2008-09-06Remove includes of doomdef.h where possible, move generic parts into topSimon Howard
level. Subversion-branch: /branches/raven-branch Subversion-revision: 1204
2006-10-18Strip out CVS logs, RCS Id tags.Simon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 704
2006-03-24Make memblock_t internal to z_zone.c. Adjust Z_ChangeTag #define toSimon Howard
cope with this. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 434
2005-09-24Remove leftover debug codeSimon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 131
2005-09-22Use a new PU_FREE tag to mark free blocks, rather than the 'user' fieldSimon Howard
(avoids using magic numbers to mark allocated blocks with no user) Subversion-branch: /trunk/chocolate-doom Subversion-revision: 119
2005-07-23Update copyright to GNU GPLSimon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 8
2005-07-23Initial revisionSimon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 4