SA-MP Forums Archive
sscanf warning: String buffer overflow. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: sscanf warning: String buffer overflow. (/showthread.php?tid=574331)



sscanf warning: String buffer overflow. - rOps - 16.05.2015

Код:
COMMAND:ac(playerid, params[])
{
	new textt[64];

	if(PlayerInfo[playerid][AdminLevel] < FIRST) return 0;

	if(sscanf(params, "s[64]", textt)) return SendClientMessage(playerid, -1, "{6461F3}» /ac <text>");

	if(strlen(params) > 64) return SendClientMessage(playerid, -1, "{ff0000}• Too long!");

	format(String, sizeof(String), "{A5FFA5}ADMIN CHAT | %s(%d): %s", GetPlayerNameEx(playerid), playerid, textt);
	SendMessageToAdmins(String);

	return 1;
}



Re: sscanf warning: String buffer overflow. - Emmet_ - 16.05.2015

sscanf already has built-in length checking.

You could try doing:

pawn Код:
COMMAND:ac(playerid, params[])
{
    if(PlayerInfo[playerid][AdminLevel] < FIRST) return 0;

    if(isnull(params)) return SendClientMessage(playerid, -1, "{6461F3}» /ac <text>");

    if(strlen(params) > 64) return SendClientMessage(playerid, -1, "{ff0000}• Too long!");

    format(String, sizeof(String), "{A5FFA5}ADMIN CHAT | %s(%d): %s", GetPlayerNameEx(playerid), playerid, params);
    SendMessageToAdmins(String);

    return 1;
}



Re: sscanf warning: String buffer overflow. - rOps - 16.05.2015

Thanks a lot!