From 89f7863254d343528d5834cd8bb0929776a3e79b Mon Sep 17 00:00:00 2001 From: Zachary Slater Date: Sun, 25 Dec 2011 09:07:36 +0000 Subject: [PATCH] bugzilla bug #5273 exploit resolved, we're now disallowing forwardmove of -128 and vice versa Thanks, devhc! --- code/qcommon/msg.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/code/qcommon/msg.c b/code/qcommon/msg.c index 1d06ecf6..968d68a9 100644 --- a/code/qcommon/msg.c +++ b/code/qcommon/msg.c @@ -715,8 +715,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); } @@ -776,8 +782,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 {