Added an out-of-bounds crashfix for map_delobject and map_delobjectnofree.

Added missing EOL to the 'hack on namerequest' console message.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12142 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ultramage 2008-01-26 15:18:32 +00:00
parent c53f4f1955
commit b6520cbfd6
2 changed files with 14 additions and 4 deletions

View File

@ -8072,7 +8072,7 @@ void clif_parse_GetCharNameRequest(int fd, struct map_session_data *sd)
//Possible bot? Thanks to veider and qspirit
//FIXME: Still isn't perfected as clients keep asking for this on legitimate situations.
char gm_msg[256];
sprintf(gm_msg, "Hack on NameRequest: character '%s' (account: %d) requested the name of an invisible target.", sd->status.name, sd->status.account_id);
sprintf(gm_msg, "Hack on NameRequest: character '%s' (account: %d) requested the name of an invisible target.\n", sd->status.name, sd->status.account_id);
ShowWarning(gm_msg);
// information is sended to all online GM
intif_wis_message_to_gm(wisp_server_name, battle_config.hack_info_GM_level, gm_msg);

View File

@ -1142,6 +1142,12 @@ int map_addobject(struct block_list *bl)
*------------------------------------------*/
int map_delobjectnofree(int id)
{
if( id < 0 || id >= MAX_FLOORITEM )
{
ShowError("map_delobjectnofree: invalid object id '%d'!\n", id);
return 0;
}
if(objects[id]==NULL)
return 0;
@ -1167,13 +1173,17 @@ int map_delobjectnofree(int id)
*------------------------------------------*/
int map_delobject(int id)
{
struct block_list *obj = objects[id];
if( id < 0 || id >= MAX_FLOORITEM )
{
ShowError("map_delobject: invalid object id '%d'!\n", id);
return 0;
}
if(obj==NULL)
if(objects[id]==NULL)
return 0;
map_delobjectnofree(id);
map_freeblock(obj);
map_freeblock(objects[id]);
return 0;
}