Commit Graph

7 Commits

Author SHA1 Message Date
Jan Engelhardt
97eeab914b Resolve out-of-bounds access in _splitpath
Crash at the start of every level.

==43628==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x5020000c5a6f at pc 0x7efd39f3868a bp 0x7ffe5a39ec80 sp 0x7ffe5a39ec78
READ of size 1 at 0x5020000c5a6f thread T0
    f0 _splitpath(char const*, char*, char*, char*, char*) $GIT/scripts/linux_lib.cpp:37
    f1 InitializeDLL $GIT/scripts/level1.cpp:705
    f2 Osiris_LoadLevelModule(char*) $GIT/Descent3/OsirisLoadandBind.cpp:1095
    f3 InitLevelScript() $GIT/Descent3/Mission.cpp:1699
    f4 StartLevel() $GIT/Descent3/gamesequence.cpp:1622
    f5 LoadAndStartCurrentLevel() $GIT/Descent3/gamesequence.cpp:1675
    f6 GameSequencer() $GIT/Descent3/gamesequence.cpp:1197
    f7 PlayGame() $GIT/Descent3/game.cpp:834
    f8 MainLoop() $GIT/Descent3/descent.cpp:555
    f9 Descent3() $GIT/Descent3/descent.cpp:508
    f10 oeD3LnxApp::run() $GIT/Descent3/sdlmain.cpp:151

0x5020000c5a6f is located 1 bytes before 7-byte region [0x5020000c5a70,0x5020000c5a77)
allocated by thread T0 here:
    f0 strdup (/lib64/libasan.so.8+0xf68e0) (BuildId: 5615a04b8d0a5a8eafa661f7235e2d98fa2b9137)
    f1 Osiris_LoadLevelModule(char*) $GIT/Descent3/OsirisLoadandBind.cpp:1046
    f2 InitLevelScript() $GIT/Descent3/Mission.cpp:1699
    f3 StartLevel() $GIT/Descent3/gamesequence.cpp:1622
    f4 LoadAndStartCurrentLevel() $GIT/Descent3/gamesequence.cpp:1675
    f5 GameSequencer() $GIT/Descent3/gamesequence.cpp:1197
    f6 PlayGame() $GIT/Descent3/game.cpp:834
    f7 MainLoop() $GIT/Descent3/descent.cpp:555
    f8 Descent3() $GIT/Descent3/descent.cpp:508
    f9 oeD3LnxApp::run() $GIT/Descent3/sdlmain.cpp:151
2024-08-31 12:13:44 +02:00
GravisZro
ec73d3fe1f Remove excess stricmp definitions 2024-05-24 08:53:02 -04:00
GravisZro
6a9ddd8736 Replace _vsnprintf/vsnprintf with std::vsnprintf 2024-05-24 08:52:59 -04:00
Azamat H. Hackimov
20d38d7367 Use C99 standard vsnprintf() function 2024-05-19 12:40:50 +03:00
Kevin Bentley
1f45163248 Updated source to reflect the license that this code is released under. 2024-04-20 09:57:49 -06:00
Kevin Bentley
c6640cc631 clang-format on everything. 2024-04-16 12:56:40 -06:00
Kevin Bentley
df209742fc Initial import 2024-04-15 21:43:29 -06:00