scummvm/engines/tinsel
Donovan Watteau 21cd732b60 TINSEL: Fix UB for enum TINSEL_EVENT in DW2. PVS-Studio V1016
In DW2, some large TINSEL_EVENT values are read, and they're bigger than
the last TINSEL_EVENT value, but we cast them to `enum TINSEL_EVENT`
values in tinlib.cpp, which is apparently "unspecified behavior up to
C++17 and undefined behavior starting from C++17".

  tinlib.cpp:1925:39: runtime error: load of value 9041, which is not
     a valid value for type 'Tinsel::TINSEL_EVENT'
  tinlib.cpp:1935:31: runtime error: load of value 77, which is not
     a valid value for type 'Tinsel::TINSEL_EVENT'

Found with UBSan but the really clear help comes from PVS-Studio
documentation.
2022-11-29 00:41:03 +01:00
..
noir
actors.cpp TINSEL: Fix DW2 subtitle color on big-endian systems 2022-11-27 23:06:24 +02:00
actors.h
adpcm.cpp
adpcm.h
anim.cpp
anim.h
background.cpp
background.h
bg.cpp
bmv.cpp JANITORIAL: Fix various single-character typos 2022-11-11 20:55:56 +01:00
bmv.h
cliprect.cpp
cliprect.h
config.cpp
config.h
configure.engine
credits.pl
cursor.cpp
cursor.h
debugger.cpp
debugger.h
detection_tables.h
detection.cpp TINSEL: Change "2" to "II" in DW2 title 2022-11-28 19:43:13 +01:00
detection.h
dialogs.cpp
dialogs.h
drives.cpp
drives.h
dw.h
effect.cpp
events.cpp
events.h TINSEL: Fix UB for enum TINSEL_EVENT in DW2. PVS-Studio V1016 2022-11-29 00:41:03 +01:00
faders.cpp
faders.h
film.cpp
film.h
font.cpp
font.h
graphics.cpp
graphics.h
handle.cpp
handle.h
heapmem.cpp
heapmem.h
inv_objects.cpp
inv_objects.h
mareels.cpp
mareels.h
metaengine.cpp
module.mk
move.cpp
move.h
movers.cpp
movers.h
multiobj.cpp
multiobj.h
music.cpp TINSEL: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
music.h
object.cpp
object.h
palette.cpp
palette.h
pcode.cpp
pcode.h
pdisplay.cpp TINSEL: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
pdisplay.h
pid.h
play.cpp
play.h
polygons.cpp TINSEL: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
polygons.h
POTFILES
saveload.cpp
savescn.cpp
savescn.h
scene.cpp
scene.h
sched.cpp
sched.h
scn.cpp
scn.h
scroll.cpp
scroll.h
sound.cpp
sound.h
strres.cpp TINSEL: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
strres.h
sysvar.cpp
sysvar.h
text.cpp
text.h
timers.cpp
timers.h
tinlib.cpp TINSEL: Correct spelling mistake 2022-10-27 15:57:30 +02:00
tinlib.h
tinsel.cpp
tinsel.h
token.cpp
token.h