Descent 3 by Outrage Entertainment
Go to file
Jan Engelhardt f4d1e6549b Resolve out-of-bounds access in AddMultipleLinesToHUDMessages
When trying to use the Collector's Icon from level 6 anywhere where
it is not usable:

$GIT/Descent3/hudmessage.cpp:508:36: runtime error: index 18446744073709551615 out of bounds for type 'char [400]'
=================================================================
==59139==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000003c2b4ff at pc 0x0000007786d6 bp 0x7fffbf4dde00 sp 0x7fffbf4dddf8
READ of size 1 at 0x000003c2b4ff thread T0
    f0 in AddMultipleLinesToHUDMessages $GIT/Descent3/hudmessage.cpp:508
    f1 in AddColoredHUDMessage(unsigned int, char const*, ...) $GIT/Descent3/hudmessage.cpp:536
    f2 in msafe_CallFunction(unsigned char, msafe_struct*) $GIT/Descent3/multisafe.cpp:2034
    f3 in aShowHUDMessageObj(char const*, int, ...) $GIT/scripts/DallasFuncs.cpp:1261
    f4 in CustomObjectScript_206F::CallEvent(int, tOSIRISEventInfo*) $GIT/scripts/Level6.cpp:3052
    f5 in CallInstanceEvent $GIT/scripts/Level6.cpp:2209
    f6 in Osiris_CallEvent(object*, int, tOSIRISEventInfo*) $GIT/Descent3/OsirisLoadandBind.cpp:2203
    f7 in Inventory::Use(int, int, object*) $GIT/Descent3/Inventory.cpp:822
    f8 in Inventory::UsePos(object*) $GIT/Descent3/Inventory.cpp:875
    f9 in UseInventoryItem() $GIT/Descent3/Inventory.cpp:1503
    f10 DoKeyboardMisc $GIT/Descent3/Controls.cpp:1234
    f11 DoMisc $GIT/Descent3/Controls.cpp:1114
    f12 ReadPlayerControls(game_controls*) $GIT/Descent3/Controls.cpp:737
    f13 DoFlyingControl(object*) $GIT/Descent3/object.cpp:2325
    f14 ObjDoFrame(object*) $GIT/Descent3/object.cpp:2668
    f15 ObjDoFrameAll() $GIT/Descent3/object.cpp:2988
    f16 GameFrame() $GIT/Descent3/GameLoop.cpp:2980
    f17 GameSequencer() $GIT/Descent3/gamesequence.cpp:1221
    f18 PlayGame() $GIT/Descent3/game.cpp:834
    f19 MainLoop() $GIT/Descent3/descent.cpp:550
    f20 Descent3() $GIT/Descent3/descent.cpp:508
    f21 oeD3LnxApp::run() $GIT/Descent3/sdlmain.cpp:151

0x000003c2b4ff is located 62 bytes after global variable 'Hud_messages_paused' defined in '$GIT/Descent3/hudmessage.cpp:400:13' (0x3c2b4c0) of size 1
  'Hud_messages_paused' is ascii string ''
2024-08-31 12:13:44 +02:00
.github Add release flow to GitHub Actions 2024-08-12 17:07:44 +03:00
2dlib [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
AudioEncode CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
bitmap [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
cfile Move platform-specific defines and macros to own file crossplat.h 2024-08-20 23:09:27 +03:00
cmake add rudimentary shaders and machinery 2024-08-18 02:52:46 -05:00
dd_grwin32 [Cleanup] Remove unused code. 2024-08-20 20:03:02 +02:00
dd_video Remove unused DirectX-related files 2024-06-29 18:21:38 +02:00
ddebug [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
ddio Merge pull request #544 from winterheart/reactivate-editor 2024-08-26 22:17:12 +02:00
Descent3 Resolve out-of-bounds access in AddMultipleLinesToHUDMessages 2024-08-31 12:13:44 +02:00
editor Reactivate editor building 2024-08-21 17:29:14 +03:00
fix CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
grtext [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
legacy Move platform-specific defines and macros to own file crossplat.h 2024-08-20 23:09:27 +03:00
lib Merge pull request #544 from winterheart/reactivate-editor 2024-08-26 22:17:12 +02:00
libmve CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
linux Move platform-specific defines and macros to own file crossplat.h 2024-08-20 23:09:27 +03:00
manage DDIO: new crossplatform SleepMS() function 2024-08-20 23:08:10 +03:00
md5 CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
mem CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
misc [Misc] Deleted leftover empty logging code. 2024-08-20 20:03:02 +02:00
model Always use Multitexture 2024-08-18 03:26:06 -05:00
module Move platform-specific defines and macros to own file crossplat.h 2024-08-20 23:09:27 +03:00
music [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
netcon Move platform-specific defines and macros to own file crossplat.h 2024-08-20 23:09:27 +03:00
netgames CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
networking Fixup platform defines to be positive tests instead of negative ones 2024-07-12 18:31:05 -05:00
physics [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
renderer Merge pull request #545 from tophyr/pr/improve-render-perf 2024-08-27 23:19:55 +02:00
rtperformance CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
scripts Resolve out-of-bounds access in _splitpath 2024-08-31 12:13:44 +02:00
sndlib [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
stream_audio [Cleanup] Fixed mismatch between function declarations and implementations. 2024-08-20 20:03:02 +02:00
tests [CMake] Enabled the CMake property USE_FOLDERS to provide a more structured project list in IDEs with the help of set(CMAKE_FOLDER "...") calls. 2024-07-03 19:55:04 +02:00
third_party Split libacm files to third_party/libacm and AudioEncode 2024-07-28 21:51:35 +03:00
tools Move IOOpts.h into main tree 2024-06-17 01:55:02 +03:00
ui [UI] Replaced busy wait loop with a sleep. 2024-08-26 00:45:06 +02:00
unzip CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
vecmat Isolate misc module 2024-06-27 01:26:35 +03:00
win32 WIN32: Replace ddio_FindFileStart() with ddio_DoForeachFile() 2024-08-15 11:50:36 +03:00
.clang-format Additional clang-format 2024-04-17 00:25:04 +03:00
.clang-format-ignore Import source of libacm 1.3, integrate it into CMake build 2024-04-21 18:25:45 +02:00
.editorconfig Explicitly declare that source files are UTF-8 2024-07-17 10:12:09 -04:00
.gitattributes Create EditorConfig file 2024-05-21 11:11:16 -04:00
.gitignore Introducing git revision in source code 2024-04-28 22:05:26 +03:00
Brewfile Use vcpkg for all platform presets 2024-08-03 23:38:01 -05:00
BUILD.md Set up transformations in vertex shader 2024-08-18 03:26:03 -05:00
CHANGELOG.md Prepare to next major version 1.6.0 2024-08-18 00:06:22 +03:00
CMakeLists.txt Merge pull request #542 from rfht/main 2024-08-20 18:30:23 +02:00
CMakePresets.json Use vcpkg for all platform presets 2024-08-03 23:38:01 -05:00
LICENSE Updated source to reflect the license that this code is released under. 2024-04-20 09:57:49 -06:00
README.md Split README between README, BUILD and USAGE files. 2024-08-15 01:02:10 +02:00
THIRD_PARTY.md Split libacm files to third_party/libacm and AudioEncode 2024-07-28 21:51:35 +03:00
USAGE.md Split README between README, BUILD and USAGE files. 2024-08-15 01:02:10 +02:00
vcpkg.json Set up transformations in vertex shader 2024-08-18 03:26:03 -05:00

d3 (1)

This is the Descent 3 open source engine, licensed under GPL-3.0. It includes the '1.5' patch written by Kevin Bentley and Jeff Slutter several years ago and brought to a stable condition by the Descent community.

In order to use this, you must provide your own game files. See the USAGE.md file for details about installation.

To build the game, follow build instructions in the BUILD.md file.

Build or runtime issues should be reported on our GitHub tracker.

Contributing

Anyone can contribute! We have an active Discord presence at Descent Developer Network. Patches should be submitted on GitHub.