From f81633eb01f8abd98aec47e8aa07e89f44c5e99a Mon Sep 17 00:00:00 2001 From: Zachary Slater Date: Sun, 25 Dec 2011 09:07:36 +0000 Subject: bugzilla bug #5273 exploit resolved, we're now disallowing forwardmove of -128 and vice versa Thanks, devhc! --- src/qcommon/msg.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/qcommon') diff --git a/src/qcommon/msg.c b/src/qcommon/msg.c index f8aa39ee..a0c17d73 100644 --- a/src/qcommon/msg.c +++ b/src/qcommon/msg.c @@ -704,8 +704,14 @@ void MSG_ReadDeltaUsercmd( msg_t *msg, usercmd_t *from, usercmd_t *to ) { to->angles[1] = MSG_ReadDelta( msg, from->angles[1], 16); to->angles[2] = MSG_ReadDelta( msg, from->angles[2], 16); to->forwardmove = MSG_ReadDelta( msg, from->forwardmove, 8); + if( to->forwardmove == -128 ) + to->forwardmove = -127; to->rightmove = MSG_ReadDelta( msg, from->rightmove, 8); + if( to->rightmove == -128 ) + to->rightmove = -127; to->upmove = MSG_ReadDelta( msg, from->upmove, 8); + if( to->upmove == -128 ) + to->upmove = -127; to->buttons = MSG_ReadDelta( msg, from->buttons, 16); to->weapon = MSG_ReadDelta( msg, from->weapon, 8); } @@ -765,8 +771,14 @@ void MSG_ReadDeltaUsercmdKey( msg_t *msg, int key, usercmd_t *from, usercmd_t *t to->angles[1] = MSG_ReadDeltaKey( msg, key, from->angles[1], 16); to->angles[2] = MSG_ReadDeltaKey( msg, key, from->angles[2], 16); to->forwardmove = MSG_ReadDeltaKey( msg, key, from->forwardmove, 8); + if( to->forwardmove == -128 ) + to->forwardmove = -127; to->rightmove = MSG_ReadDeltaKey( msg, key, from->rightmove, 8); + if( to->rightmove == -128 ) + to->rightmove = -127; to->upmove = MSG_ReadDeltaKey( msg, key, from->upmove, 8); + if( to->upmove == -128 ) + to->upmove = -127; to->buttons = MSG_ReadDeltaKey( msg, key, from->buttons, 16); to->weapon = MSG_ReadDeltaKey( msg, key, from->weapon, 8); } else { -- cgit