[POMOC] sscanf warning: String buffer overflow.

Započeo FarkiAs, Avgust 22, 2013, 01:33:55 PRE PODNE

prethodna tema - sledeća tema

0 članova i 4 gostiju pregledaju ovu temu.

FarkiAs

skripta: moja od 0
opis problema: izbacuje mi u server.log-u "sscanf warning: String buffer overflow." a samo sam kod komandi /a, /g /gmo /ao i /he smanjio string, pa me zanima hoće li padat server zbog ovoga.
Dio skripte: ///////////////////////////////////////////////////////
CMD:a(playerid, params[],help)
{
    //#pragma unused help
//#pragma unused params
    if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"ac | "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid, -1, ""CRVENA"[ac] "SIVA"Samo Admini!");
new text[256], string[512], sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
if(sscanf(params, "s[64]", text)) return SCM(playerid, -1, ""CRVENA"ac Pomoc | "BELA"/a [tekst]");
new arank[64];
if(PlayerInfo[playerid][pAdmin] == 1) { arank = "Admin Level 1"; }
else if(PlayerInfo[playerid][pAdmin] == 2) { arank = "Admin Level 2"; }
else if(PlayerInfo[playerid][pAdmin] == 3) { arank = "Admin Level 3"; }
else if(PlayerInfo[playerid][pAdmin] == 4) { arank = "Admin Level 4"; }
else if(PlayerInfo[playerid][pAdmin] == 5) { arank = "Admin Level 5"; }
else if(PlayerInfo[playerid][pAdmin] == 6) { arank = "Admin Level 6 (Vlasnik)"; }
else { arank = "Admin"; }
format(string, sizeof(string), "{F3FF02}A | "BELA"%s {F3FF02}%s"BELA": %s",arank,sendername,text);
AdminGameMaster(-1,string);
return 1;
}
////////////////////////////////////////////////////////
CMD:he(playerid, params[],help)
{
    //#pragma unused help
//#pragma unused params
    if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"ac | "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pAdmin] < 6) return SCM(playerid, -1, ""CRVENA"[ac] "SIVA"Samo vlasnik!");
new text[256], string[512], sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
if(sscanf(params, "s[64]", text)) return SCM(playerid, -1, ""CRVENA"ac Pomoc | "BELA"/he [tekst]");
new arank[64];
if(PlayerInfo[playerid][pAdmin] == 6) { arank = "[EG] Vlasnik"; }
else { arank = "Admin"; }
format(string, sizeof(string), "{F81414}HAC | "BELA"%s {F81414}%s"BELA": %s",arank,sendername,text);
HeadAdminPoruka(-1,string);
return 1;
}
///////////////////////////////////////////////////////
CMD:ao(playerid, params[],help)
{
    //#pragma unused help
//#pragma unused params
    if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"ac | "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid, -1, ""CRVENA"[ac] "SIVA"Samo Admini!");
new text[256], string[512], sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
if(sscanf(params, "s[64]", text)) return SCM(playerid, -1, ""CRVENA"ac Pomoc | "BELA"/ao [tekst]");
format(string, sizeof(string), "{F3FF02}(( {FFFFFF}Admin {F3FF02}%s: {FFFFFF}%s {F3FF02}))",sendername,text);
SendClientMessageToAll(-1,string);
return 1;
}
///////////////////////////////////////////////////////
CMD:gmo(playerid, params[],help)
{
    //#pragma unused help
//#pragma unused params
    if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"ac | "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pGM] < 1) return SCM(playerid, -1, ""CRVENA"[ac] "SIVA"Samo GameMasteri!");
new text[256], string[512], sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
if(sscanf(params, "s[64]", text)) return SCM(playerid, -1, ""CRVENA"ac Pomoc | "BELA"/gmo [tekst]");
format(string, sizeof(string), "(( GameMaster %s: %s ))",sendername,text);
SendClientMessageToAll(0x48E31CFF,string);
return 1;
}
///////////////////////////////////////////////////////
CMD:g(playerid, params[],help)
{
    //#pragma unused help
//#pragma unused params
    if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"ac | "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pGM] < 1) return SCM(playerid, -1, ""ORANGE"[ac] "SIVA"Samo GameMasteri!");
new text[64], string[512], sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
if(sscanf(params, "s[64]", text)) return SCM(playerid, -1, ""ORANGE"ac Pomoc | "SIVA" /a [tekst]");
new arank[64];
if(PlayerInfo[playerid][pGM] == 1) { arank = "GameMaster Level 1"; }
else if(PlayerInfo[playerid][pGM] == 2) { arank = "GameMaster Level 2"; }
else if(PlayerInfo[playerid][pGM] == 3) { arank = "GameMaster Level 3"; }
else { arank = "GameMaster"; }
format(string, sizeof(string), ""ZELENA"GM | "BELA"%s "ZELENA"%s"BELA": %s",arank,sendername,text);
AdminGameMaster(-1,string);
return 1;
}


kod ovog sam smanjivao bio je string hiljadu i nešto ja stavio 64 jer nije potreban veći evo ovdje u svakoj komandi if(sscanf(params, "s[64]", text))
Poslednja Izmena: Avgust 22, 2013, 01:36:03 PRE PODNE od punisheR 7474

smanji string na 128 i text na 128, djabe stavljas 512 kad je max 128

onda ovu provjeru
if(sscanf(params, "s[64]", text))

stavis ovako
if(sscanf(params, "s[128]", text))
Other Dimension RolePlay | Uskoro
Ukoliko zelite pomoci u razvoju servera, mozete se meni javit na PP/PM!

FarkiAs

Citat: Crazyn3ss poslato Avgust 22, 2013, 01:53:27 PRE PODNE
smanji string na 128 i text na 128, djabe stavljas 512 kad je max 128

onda ovu provjeru
if(sscanf(params, "s[64]", text))

stavis ovako
if(sscanf(params, "s[128]", text))

imam na pola još komandi string 512 hoću i tu smanjit i na ostalim mjestima gdje mi je preko 128 ? :)
Poslednja Izmena: Avgust 22, 2013, 10:20:50 PRE PODNE od punisheR 7474

Citat: punisheR 7474 poslato Avgust 22, 2013, 10:19:54 PRE PODNE
Citat: Crazyn3ss poslato Avgust 22, 2013, 01:53:27 PRE PODNE
smanji string na 128 i text na 128, djabe stavljas 512 kad je max 128

onda ovu provjeru
if(sscanf(params, "s[64]", text))

stavis ovako
if(sscanf(params, "s[128]", text))

imam na pola još komandi string 512 hoću i tu smanjit i na ostalim mjestima gdje mi je preko 128 ? :)
da jer sta ce ti kad maximalno 128
Other Dimension RolePlay | Uskoro
Ukoliko zelite pomoci u razvoju servera, mozete se meni javit na PP/PM!