mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r24980) -Fix: memory leak in corner case of handling encoded strings
This commit is contained in:
parent
078fc80362
commit
b9b34bc898
|
@ -889,11 +889,11 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
|
||||||
sub_args.SetParam(i++, (uint64)(size_t)g);
|
sub_args.SetParam(i++, (uint64)(size_t)g);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* We error'd out in the while, to error out in themain too */
|
/* If we didn't error out, we can actually print the string. */
|
||||||
if (*str == '\0') break;
|
if (*str != '\0') {
|
||||||
|
str = p;
|
||||||
str = p;
|
buff = GetStringWithArgs(buff, (GAME_TEXT_TAB << TAB_COUNT_OFFSET) + stringid, &sub_args, last, true);
|
||||||
buff = GetStringWithArgs(buff, (GAME_TEXT_TAB << TAB_COUNT_OFFSET) + stringid, &sub_args, last, true);
|
}
|
||||||
|
|
||||||
for (int i = 0; i < 20; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
if (sub_args_need_free[i]) free((void *)sub_args.GetParam(i));
|
if (sub_args_need_free[i]) free((void *)sub_args.GetParam(i));
|
||||||
|
|
Loading…
Reference in New Issue