(svn r6884) -Codechange: Add strict bounds checking in string formatting system.

The last parameter should point to the end of the buffer (eg lastof(buf))
 Courtesy of Tron.
This commit is contained in:
Darkvater
2006-10-21 23:31:34 +00:00
parent 7f36a980c7
commit ee27bb497c
33 changed files with 240 additions and 231 deletions

View File

@@ -292,7 +292,7 @@ StringID GetGRFStringID(uint32 grfid, uint16 stringid)
}
char *GetGRFString(char *buff, uint16 stringid)
char *GetGRFString(char *buff, uint16 stringid, const char* last)
{
const GRFText *default_text = NULL;
const GRFText *search_text;
@@ -319,7 +319,7 @@ char *GetGRFString(char *buff, uint16 stringid)
if (default_text != NULL) return strecpy(buff, default_text->text, NULL);
/* Use the default string ID if the fallback string isn't available */
return GetString(buff, _grf_text[stringid].def_string);
return GetString(buff, _grf_text[stringid].def_string, last);
}
/**