2013.08.12.Log0884.txt
📄SVN
📅2013-08-12
💾5,9 KB
☰15 Entry parsate
BUILD
FIX
Revision r4016
👤 helixhorned
📅 2013-08-12 08:18:20 -0700 (Mon, 12 Aug 2013)
game.c: remove dead bounds check for cheatbuf[], add assertion.
The check is dead because it is made after the fact (oob access), but the
cheat string matching logic below actually assures that
cheatbuflen < sizeof(cheatbuf) at all times.
Exposed using the Stack tool from http://css.csail.mit.edu/stack/ .
Also, in gamedef.c's definecheat handling, print the string length (19), not
the buffer length (20) if the cheat was truncated.
Revision r4015
👤 helixhorned
📅 2013-08-12 08:18:19 -0700 (Mon, 12 Aug 2013)
When issuing "setrendmode" OSD command with mismatched vidmode, auto-switch.
Revision r4014
👤 helixhorned
📅 2013-08-12 08:18:18 -0700 (Mon, 12 Aug 2013)
Fix taking address out of bounds of stack'd array, introduced in r3983.
Clang's UBSan reports this as undefined behavior. I think that the reason
is as follows: C99 6.5.3.2#1 (Constraints) says:
The operand of the unary & operator shall be either a function designator, the
result of a [] or unary * operator, or an lvalue that designates an object that
is not a bit-field and is not declared with the register storage-class specifier.
But in case of an expression like "&array[-1]", the operand ("array[-1]") does
not designate a valid object.
Moral: check first -- assure that an expression is valid for a particular
operation before carrying it out. Keep in mind that otherwise, the compiler
is absolutely free to optimize out the *check*.
Revision r4013
👤 helixhorned
📅 2013-08-12 08:18:16 -0700 (Mon, 12 Aug 2013)
baselayer.c: remove baselayer_onvideomodechange, onvideomodechange.
Revision r4012
👤 helixhorned
📅 2013-08-12 08:18:15 -0700 (Mon, 12 Aug 2013)
Mapster32/non-Lua: don't keep tags used for TROR nextwalls when c&p-ing sector.
Again, in case a bunch is discarded. The tags would appear as really tagging
the walls instead of being "hidden".
Revision r4011
👤 helixhorned
📅 2013-08-12 08:18:13 -0700 (Mon, 12 Aug 2013)
Mapster32/Lunatic: clear bunchnum and TROR nextwalls when c&p-ing sectors.
That is, if a bunch is discarded when copying a sector to the clipboard.
(This happens if not all sectors that are part of the bunch are copied.)
Revision r4010
👤 helixhorned
📅 2013-08-12 08:18:12 -0700 (Mon, 12 Aug 2013)
Polymost: fix my r_usetileshades==2 sub-method.
Don't touch TerminX's r_usetileshades==1 or it being the default.
Revision r4009
👤 helixhorned
📅 2013-08-12 08:18:11 -0700 (Mon, 12 Aug 2013)
checkdefs.sh: check first and second args, handle definelevelname.
Revision r4008
👤 helixhorned
📅 2013-08-12 08:18:10 -0700 (Mon, 12 Aug 2013)
net.c: move a necessary bound check to BEFORE the oob access happening.
Fixes the undefined behavior discussed here:
http://forums.duke4.net/topic/3857-the-crash-thread/page__view__findpost__p__152612
Revision r4007
👤 helixhorned
📅 2013-08-12 08:18:05 -0700 (Mon, 12 Aug 2013)
Mapster32: Clean up "show height indicators" mode.
- For setting 1, don't draw them for red walls whose sector floors have equal
height.
- Make setting 1 the default, because I consider drawing them for such walls
(and white walls) noise (as opposed to information). The "verbose" setting 2
is still available.
Revision r4006
👤 helixhorned
📅 2013-08-11 08:28:51 -0700 (Sun, 11 Aug 2013)
Retire MultiPsky_TileToIdx() in favor of engine-side getpskyidx().
DONT_BUILD, because there have been no significant changes of the non-Lua build.
Revision r4005
👤 helixhorned
📅 2013-08-11 08:28:50 -0700 (Sun, 11 Aug 2013)
Lunatic util: add foreachmap module 'plax', looking for maps w/ multiple psky tiles.
In foreachmap.lua, make init() be able to return a start index for cmdline args,
for the case where the run worker script wants to handle options, for example.
Revision r4004
👤 helixhorned
📅 2013-08-11 08:28:48 -0700 (Sun, 11 Aug 2013)
Lunatic: sync defs.ilua's user_defs with r3993, adding member MasterVolume.
Revision r4001
👤 helixhorned
📅 2013-08-11 08:28:45 -0700 (Sun, 11 Aug 2013)
Lunatic: add LuaJIT's jit/bcsave.lua and headers for synthesis build preparation.
Revision r4000
👤 helixhorned
📅 2013-08-11 08:28:42 -0700 (Sun, 11 Aug 2013)
Lunatic: prepare Makefiles for synthesis build.
- libs and headers are expected in platform/Windows/* (not there yet)
- prefix Lua #includes with luajit-2.0/
- build bytecode objects with absolute path name (used for debug info)
------------------------------------------------------------------------
Contenuto Raw
------------------------------------------------------------------------
r4017 | helixhorned | 2013-08-12 08:18:22 -0700 (Mon, 12 Aug 2013) | 6 lines
polymer.c: remove redundant NULL pointer check in polymer_invalidateplanelights().
Redundant for the same reason as the preceding one: the pointer has already
been dereferenced at the point the check is made. Also, all 5 calls of that
function pass a valid pointer (provided the pointers from which the expressions
are derived are valid). Reported by Stack, too.
------------------------------------------------------------------------
r4016 | helixhorned | 2013-08-12 08:18:20 -0700 (Mon, 12 Aug 2013) | 8 lines
game.c: remove dead bounds check for cheatbuf[], add assertion.
The check is dead because it is made after the fact (oob access), but the
cheat string matching logic below actually assures that
cheatbuflen < sizeof(cheatbuf) at all times.
Exposed using the Stack tool from http://css.csail.mit.edu/stack/ .
Also, in gamedef.c's definecheat handling, print the string length (19), not
the buffer length (20) if the cheat was truncated.
------------------------------------------------------------------------
r4015 | helixhorned | 2013-08-12 08:18:19 -0700 (Mon, 12 Aug 2013) | 1 line
When issuing "setrendmode" OSD command with mismatched vidmode, auto-switch.
------------------------------------------------------------------------
r4014 | helixhorned | 2013-08-12 08:18:18 -0700 (Mon, 12 Aug 2013) | 15 lines
Fix taking address out of bounds of stack'd array, introduced in r3983.
Clang's UBSan reports this as undefined behavior. I think that the reason
is as follows: C99 6.5.3.2#1 (Constraints) says:
The operand of the unary & operator shall be either a function designator, the
result of a [] or unary * operator, or an lvalue that designates an object that
is not a bit-field and is not declared with the register storage-class specifier.
But in case of an expression like "&array[-1]", the operand ("array[-1]") does
not designate a valid object.
Moral: check first -- assure that an expression is valid for a particular
operation before carrying it out. Keep in mind that otherwise, the compiler
is absolutely free to optimize out the *check*.
------------------------------------------------------------------------
r4013 | helixhorned | 2013-08-12 08:18:16 -0700 (Mon, 12 Aug 2013) | 1 line
baselayer.c: remove baselayer_onvideomodechange, onvideomodechange.
------------------------------------------------------------------------
r4012 | helixhorned | 2013-08-12 08:18:15 -0700 (Mon, 12 Aug 2013) | 4 lines
Mapster32/non-Lua: don't keep tags used for TROR nextwalls when c&p-ing sector.
Again, in case a bunch is discarded. The tags would appear as really tagging
the walls instead of being "hidden".
------------------------------------------------------------------------
r4011 | helixhorned | 2013-08-12 08:18:13 -0700 (Mon, 12 Aug 2013) | 4 lines
Mapster32/Lunatic: clear bunchnum and TROR nextwalls when c&p-ing sectors.
That is, if a bunch is discarded when copying a sector to the clipboard.
(This happens if not all sectors that are part of the bunch are copied.)
------------------------------------------------------------------------
r4010 | helixhorned | 2013-08-12 08:18:12 -0700 (Mon, 12 Aug 2013) | 3 lines
Polymost: fix my r_usetileshades==2 sub-method.
Don't touch TerminX's r_usetileshades==1 or it being the default.
------------------------------------------------------------------------
r4009 | helixhorned | 2013-08-12 08:18:11 -0700 (Mon, 12 Aug 2013) | 1 line
checkdefs.sh: check first and second args, handle definelevelname.
------------------------------------------------------------------------
r4008 | helixhorned | 2013-08-12 08:18:10 -0700 (Mon, 12 Aug 2013) | 4 lines
net.c: move a necessary bound check to BEFORE the oob access happening.
Fixes the undefined behavior discussed here:
http://forums.duke4.net/topic/3857-the-crash-thread/page__view__findpost__p__152612
------------------------------------------------------------------------
r4007 | helixhorned | 2013-08-12 08:18:05 -0700 (Mon, 12 Aug 2013) | 7 lines
Mapster32: Clean up "show height indicators" mode.
- For setting 1, don't draw them for red walls whose sector floors have equal
height.
- Make setting 1 the default, because I consider drawing them for such walls
(and white walls) noise (as opposed to information). The "verbose" setting 2
is still available.
------------------------------------------------------------------------
r4006 | helixhorned | 2013-08-11 08:28:51 -0700 (Sun, 11 Aug 2013) | 3 lines
Retire MultiPsky_TileToIdx() in favor of engine-side getpskyidx().
DONT_BUILD, because there have been no significant changes of the non-Lua build.
------------------------------------------------------------------------
r4005 | helixhorned | 2013-08-11 08:28:50 -0700 (Sun, 11 Aug 2013) | 4 lines
Lunatic util: add foreachmap module 'plax', looking for maps w/ multiple psky tiles.
In foreachmap.lua, make init() be able to return a start index for cmdline args,
for the case where the run worker script wants to handle options, for example.
------------------------------------------------------------------------
r4004 | helixhorned | 2013-08-11 08:28:48 -0700 (Sun, 11 Aug 2013) | 1 line
Lunatic: sync defs.ilua's user_defs with r3993, adding member MasterVolume.
------------------------------------------------------------------------
r4001 | helixhorned | 2013-08-11 08:28:45 -0700 (Sun, 11 Aug 2013) | 1 line
Lunatic: add LuaJIT's jit/bcsave.lua and headers for synthesis build preparation.
------------------------------------------------------------------------
r4000 | helixhorned | 2013-08-11 08:28:42 -0700 (Sun, 11 Aug 2013) | 5 lines
Lunatic: prepare Makefiles for synthesis build.
- libs and headers are expected in platform/Windows/* (not there yet)
- prefix Lua #includes with luajit-2.0/
- build bytecode objects with absolute path name (used for debug info)
------------------------------------------------------------------------