Descent3/ddio
Jan Engelhardt cf748b719e Resolve out-of-bounds access restoring game for level 4
srcpath "hudburn.ogf"
srcpath "hudburn.ogf"
srcpath "shieldinv.ogf"
srcpath "shieldinv.ogf"
srcpath "level4"
==61849==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f8665855daf at pc 0x000001019268 bp 0x7ffeaad45fc0 sp 0x7ffeaad45fb8
READ of size 1 at 0x7f8665855daf thread T0
    f0 0x1019267 in ddio_SplitPath(char const*, char*, char*, char*) $GIT/ddio/lnxfile.cpp:134
    f1 Osiris_FindLoadedModule(char*) $GIT/Descent3/OsirisLoadandBind.cpp:775
    f2 Osiris_RestoreSystemState(CFILE*) $GIT/Descent3/OsirisLoadandBind.cpp:2774
    f3 LoadGameState(char const*) $GIT/Descent3/loadstate.cpp:387
    f4 LoadCurrentSaveGame() $GIT/Descent3/gamesave.cpp:709
    f5 GameSequencer() $GIT/Descent3/gamesequence.cpp:1239
    f6 PlayGame() $GIT/Descent3/game.cpp:834
    f7 MainLoop() $GIT/Descent3/descent.cpp:550
    f8 Descent3() $GIT/Descent3/descent.cpp:508
    f9 oeD3LnxApp::run() $GIT/Descent3/sdlmain.cpp:151

Address 0x7f8665855daf is located in stack of thread T0 at offset 431 in frame
    f0 Osiris_RestoreSystemState(CFILE*) $GIT/Descent3/OsirisLoadandBind.cpp:2685

  This frame has 3 object(s):
    [32, 72) 'ei' (line 2791)
    [112, 368) 'tag' (line 2690)
    [432, 692) 'read_module_name' (line 2761) <== Memory access at offset 431 underflows this variable
2024-08-30 02:37:42 +02:00
..
chrono_timer.cpp DDIO: new crossplatform SleepMS() function 2024-08-20 23:08:10 +03:00
chrono_timer.h DDIO: new crossplatform SleepMS() function 2024-08-20 23:08:10 +03:00
CMakeLists.txt [DDIO] Deleted unused ddio_win.h. 2024-08-20 20:03:02 +02:00
ddio_common.h Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
ddio_lnx.h Rename ddio_common to ddio 2024-05-24 22:18:14 +03:00
ddio.cpp Use chrono steady_clock for time measurement 2024-05-27 10:31:42 +03:00
ddio.h DDIO: implement mouse grab state functions 2024-08-21 12:29:28 +03:00
file.cpp Change signature of ddio_DoForeachFile() 2024-08-15 11:50:36 +03:00
key.cpp Cleanup mono debugging code 2024-06-03 01:40:33 +03:00
lnxfile.cpp Resolve out-of-bounds access restoring game for level 4 2024-08-30 02:37:42 +02:00
lnxforcefeedback.cpp Rename ddio_common to ddio 2024-05-24 22:18:14 +03:00
lnxio.cpp Windows SDL2 compilation 2024-06-29 18:21:37 +02:00
lnxkey_null.cpp Rename ddio_common to ddio 2024-05-24 22:18:14 +03:00
lnxkey_sdl.cpp DDIO: implement mouse grab state functions 2024-08-21 12:29:28 +03:00
lnxkey.cpp Rename ddio_common to ddio 2024-05-24 22:18:14 +03:00
lnxmouse.cpp DDIO: implement mouse grab state functions 2024-08-21 12:29:28 +03:00
sdljoy.cpp [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
winfile.cpp [DDIO] Deleted unused ddio_win.h. 2024-08-20 20:03:02 +02:00