From e635df8d5347c99603af5ccb6ef3dced8f78a93b Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 28 Sep 2008 13:50:11 +0000 Subject: (svn r14410) -Codechange: one can't inject a negative number of parameters, so enforce this by using a uint. --- src/strings.cpp | 3 ++- src/strings_func.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/strings.cpp b/src/strings.cpp index 6e9665ad9..5d0fa5675 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -191,8 +191,9 @@ void SetDParamStr(uint n, const char *str) SetDParam(n, (uint64)(size_t)str); } -void InjectDParam(int amount) +void InjectDParam(uint amount) { + assert((uint)amount < lengthof(_decode_parameters)); memmove(_decode_parameters + amount, _decode_parameters, sizeof(_decode_parameters) - amount * sizeof(uint64)); } diff --git a/src/strings_func.h b/src/strings_func.h index f83af7874..2c53bac8c 100644 --- a/src/strings_func.h +++ b/src/strings_func.h @@ -11,7 +11,7 @@ char *InlineString(char *buf, StringID string); char *GetString(char *buffr, StringID string, const char *last); const char *GetStringPtr(StringID string); -void InjectDParam(int amount); +void InjectDParam(uint amount); static inline void SetDParamX(uint64 *s, uint n, uint64 v) { -- cgit v1.2.3-70-g09d2