Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
Subversion-branch: /branches/raven-branch
Subversion-revision: 1987
|
|
64-bit machines. Possibly fixes problems on sparc64?
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1959
|
|
Subversion-branch: /branches/raven-branch
Subversion-revision: 1626
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1620
|
|
level.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1204
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 704
|
|
cope with this.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 434
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 131
|
|
(avoids using magic numbers to mark allocated blocks with no user)
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 119
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 8
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 4
|