PDA

Просмотр полной версии : [Вопрос] sscanf warning: String buffer overflow.



punkochel
01.06.2020, 12:34
При вводе пользователем строки, содержащей более 96 символов, в консоль выводится предупреждение о переполнении буфера (sscanf warning: String buffer overflow).
Как можно избавится от подобного рода предупреждения, или стоит просто игнорировать его?

Пример:
CMD:me(playerid, params[])
{
new string[9+(-2+MAX_PLAYER_NAME)+(-2+3)+(-2+96)+1];
if(sscanf(params, "s[96]", params[0])) return SCM(playerid, COLOR_WHITE, "Введите: /me [действие]");
format(string, sizeof(string),"%s[%i] %s", PlayerInfo[playerid][pName], playerid, params[0]);
SetPlayerChatBubble(playerid, params[0], COLOR_PURPLE, 30.0, 10000);
return 1;
}

execution
01.06.2020, 12:39
Тебе в таком случае sscanf и не нужен.
if(!(0 <= strlen(params) <= 96)) return SCM(playerid, COLOR_WHITE, "Введите: /me [действие]");