From e12f1dcf9e2f9a3a3a7a4b3c13c92e971d80847a Mon Sep 17 00:00:00 2001 From: Adam Olsen Date: Fri, 28 Sep 2001 23:34:49 +0000 Subject: [PATCH] - boundscheck static progs strings, and give proper errors for that and dynamic strings if it fails. --- libs/gamecode/engine/pr_strings.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/gamecode/engine/pr_strings.c b/libs/gamecode/engine/pr_strings.c index 9c5133df2..ac0a46143 100644 --- a/libs/gamecode/engine/pr_strings.c +++ b/libs/gamecode/engine/pr_strings.c @@ -202,11 +202,16 @@ PR_GetString (progs_t *pr, int num) num = ~num % 1024; if (row < 0 || row >= pr->dyn_str_size) - return 0; + goto bad_string_offset; return pr->dynamic_strings[row][num].string; } else { + if (num >= pr->pr_stringsize) + goto bad_string_offset; return pr->pr_strings + num; } + +bad_string_offset: + PR_RunError (pr, "Invalid string offset 0x%u", num); } int