From e4236103480b6f457eaf57c05cad1b713293cbd6 Mon Sep 17 00:00:00 2001 From: amber Date: Tue, 7 Dec 2004 01:52:25 +0000 Subject: updates git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@480 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog.txt | 1 + src/map/clif.c | 24 ++++++++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index f7753bf62..3943c1d9e 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,5 +1,6 @@ Date Added 12/6 + * fixed a server crash in mobinsite [MouseJstr] * fixed a server crash in party sharing exp [MouseJstr] * fixed a server crash in BS_FINDINGORE [MouseJstr] * Updated Chase Walk [celest] diff --git a/src/map/clif.c b/src/map/clif.c index 131efa67d..3c82b745f 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -4041,7 +4041,9 @@ int clif_moboutsight(struct block_list *bl,va_list ap) nullpo_retr(0, ap); nullpo_retr(0, md=va_arg(ap,struct mob_data*)); - if(bl->type==BL_PC && (sd = (struct map_session_data*) bl)){ + if(bl->type==BL_PC + && ((sd = (struct map_session_data*) bl) != NULL) + && session[sd->fd] != NULL) { clif_clearchar_id(md->bl.id,0,sd->fd); } @@ -4061,7 +4063,9 @@ int clif_mobinsight(struct block_list *bl,va_list ap) nullpo_retr(0, ap); md=va_arg(ap,struct mob_data*); - if(bl->type==BL_PC && (sd = (struct map_session_data *)bl)){ + if(bl->type==BL_PC + && ((sd = (struct map_session_data*) bl) != NULL) + && session[sd->fd] != NULL) { clif_getareachar_mob(sd,md); } @@ -4081,7 +4085,9 @@ int clif_petoutsight(struct block_list *bl,va_list ap) nullpo_retr(0, ap); nullpo_retr(0, pd=va_arg(ap,struct pet_data*)); - if(bl->type==BL_PC && (sd = (struct map_session_data*) bl)){ + if(bl->type==BL_PC + && ((sd = (struct map_session_data*) bl) != NULL) + && session[sd->fd] != NULL) { clif_clearchar_id(pd->bl.id,0,sd->fd); } @@ -4098,7 +4104,9 @@ int clif_npcoutsight(struct block_list *bl,va_list ap) nullpo_retr(0, ap); nullpo_retr(0, nd=va_arg(ap,struct npc_data*)); - if(bl->type==BL_PC && (sd = (struct map_session_data*) bl)){ + if(bl->type==BL_PC + && ((sd = (struct map_session_data*) bl) != NULL) + && session[sd->fd] != NULL) { clif_clearchar_id(nd->bl.id,0,sd->fd); } @@ -4118,7 +4126,9 @@ int clif_petinsight(struct block_list *bl,va_list ap) nullpo_retr(0, ap); pd=va_arg(ap,struct pet_data*); - if(bl->type==BL_PC && (sd = (struct map_session_data *)bl)){ + if(bl->type==BL_PC + && ((sd = (struct map_session_data*) bl) != NULL) + && session[sd->fd] != NULL) { clif_getareachar_pet(sd,pd); } @@ -4135,7 +4145,9 @@ int clif_npcinsight(struct block_list *bl,va_list ap) nullpo_retr(0, ap); nd=va_arg(ap,struct npc_data*); - if(bl->type==BL_PC && (sd = (struct map_session_data *)bl)){ + if(bl->type==BL_PC + && ((sd = (struct map_session_data*) bl) != NULL) + && session[sd->fd] != NULL) { clif_getareachar_npc(sd,nd); } -- cgit v1.2.3-70-g09d2