[574e079] Crash on particular DECORATE parse error

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Post Reply
User avatar
vsonnier
Posts: 80
Joined: Wed Apr 10, 2019 11:22 pm
Graphics Processor: nVidia with Vulkan support
Contact:

[574e079] Crash on particular DECORATE parse error

Post by vsonnier »

Hello,

In the current master and apparently commits after 38fec54, Brutal Doom v21 and probably every variant under the sun crashes on null-pointer exception. Executing in RelWithDebInfo x64 (VS 2019) with (Optimization; Inline Function Expansion) disabled, I get the following stack trace at GZDoom startup:

Code: Select all

	gzdoom.exe!FName::GetChars() Line 61	C++
 	gzdoom.exe!FScriptPosition::Message(int severity, const char * message, ...) Line 1258	C++
 	gzdoom.exe!ParseHex(const char * hex, FScriptPosition * sc) Line 1287	C++
 	gzdoom.exe!V_GetColorFromString(const unsigned int * palette, const char * cstr, FScriptPosition * sc) Line 352	C++
 	gzdoom.exe!V_GetColor(const unsigned int * palette, const char * str, FScriptPosition * sc) Line 474	C++
 	gzdoom.exe!Handler_bloodcolor_C_Actor(AActor * defaults, PClassActor * info, Baggage & bag, FPropParam * params) Line 778	C++
 	gzdoom.exe!ParsePropertyParams(FScanner & sc, FPropertyInfo * prop, AActor * defaults, Baggage & bag) Line 820	C++
 	gzdoom.exe!ParseActorProperty(FScanner & sc, Baggage & bag) Line 957	C++
 	gzdoom.exe!ParseActor(FScanner & sc, PNamespace * ns) Line 1172	C++
 	gzdoom.exe!ParseDecorate(FScanner & sc, PNamespace * ns) Line 1310	C++
 	gzdoom.exe!ParseDecorate(FScanner & sc, PNamespace * ns) Line 1284	C++
 	gzdoom.exe!ParseAllDecorate() Line 1348	C++
 	gzdoom.exe!LoadActors() Line 467	C++
 	gzdoom.exe!PClassActor::StaticInit() Line 394	C++
 	gzdoom.exe!D_DoomMain() Line 2508	C++
 	gzdoom.exe!DoMain(HINSTANCE__ * hInstance) Line 992	C++
 	gzdoom.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * nothing, wchar_t * cmdline, int nCmdShow) Line 1324	C++
 	[External Code]	
The problem seems to be the parsing of the following DECORATE code (minimal example):

Code: Select all

ACTOR TehLostSoul: LostSoul Replaces LostSoul
{
    bloodcolor none
}
"bloodcolor none" is probably invalid, but before the execution would continue.
Attachments
Crash_Decorate_blood_color.zip
Minimal reproducing example
(379 Bytes) Downloaded 32 times
_mental_
 
 
Posts: 3820
Joined: Sun Aug 07, 2011 4:32 am

Re: [574e079] Crash on particular DECORATE parse error

Post by _mental_ »

Fixed in cc1f18a.
Post Reply

Return to “Closed Bugs [GZDoom]”