From: havoc Date: Tue, 16 Apr 2013 21:57:17 +0000 (+0000) Subject: use unsigned comparisons for most of the boundschecks in the vm X-Git-Tag: xonotic-v0.8.0~96^2~102 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=26678e90426687f151e496d496a8cc4957e0fcba;p=xonotic%2Fdarkplaces.git use unsigned comparisons for most of the boundschecks in the vm git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11938 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/prvm_execprogram.h b/prvm_execprogram.h index 8c6b0e47..9620daca 100644 --- a/prvm_execprogram.h +++ b/prvm_execprogram.h @@ -187,7 +187,7 @@ case OP_STOREP_FLD: // integers case OP_STOREP_S: case OP_STOREP_FNC: // pointers - if (OPB->_int < 0 || OPB->_int + 1 > prog->entityfieldsarea) + if ((unsigned int)OPB->_int >= (unsigned int)prog->entityfieldsarea) { PreError(); prog->error_cmd("%s attempted to write to an out of bounds edict (%i)", prog->name, (int)OPB->_int); @@ -220,7 +220,7 @@ break; case OP_ADDRESS: - if (OPA->edict < 0 || OPA->edict >= prog->max_edicts) + if ((unsigned int)OPA->edict >= (unsigned int)prog->max_edicts) { PreError(); prog->error_cmd("%s Progs attempted to address an out of bounds edict number", prog->name); @@ -249,7 +249,7 @@ case OP_LOAD_ENT: case OP_LOAD_S: case OP_LOAD_FNC: - if (OPA->edict < 0 || OPA->edict >= prog->max_edicts) + if ((unsigned int)OPA->edict >= (unsigned int)prog->max_edicts) { PreError(); prog->error_cmd("%s Progs attempted to read an out of bounds edict number", prog->name); @@ -266,7 +266,7 @@ break; case OP_LOAD_V: - if (OPA->edict < 0 || OPA->edict >= prog->max_edicts) + if ((unsigned int)OPA->edict >= (unsigned int)prog->max_edicts) { PreError(); prog->error_cmd("%s Progs attempted to read an out of bounds edict number", prog->name);