From afa9b43941415a5f995da3c8ec02d338c6ea8fd0 Mon Sep 17 00:00:00 2001
From: Freeyorp <Freeyorp101@hotmail.com>
Date: Mon, 23 Nov 2009 15:23:25 +1300
Subject: Fix a segfault when the master of a summoned monster is not online

---
 src/map/mob.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src/map')

diff --git a/src/map/mob.c b/src/map/mob.c
index 5a0bedc..f3822c4 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -2335,7 +2335,7 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
 		if(src && src->type == BL_MOB && ((struct mob_data*)src)->state.special_mob_ai){
 			struct mob_data *md2 = (struct mob_data *)src;
                         struct block_list *master_bl = map_id2bl(md2->master_id);
-                        if (master_bl->type == BL_PC) {
+                        if (master_bl && master_bl->type == BL_PC) {
                                 MAP_LOG_PC(((struct map_session_data *)master_bl), "MOB-TO-MOB-DMG FROM MOB%d %d TO MOB%d %d FOR %d",
                                            md2->bl.id, md2->class,
                                            md->bl.id, md->class,
-- 
cgit v1.2.3-70-g09d2


From dad2bd80f6e05813715739cc2a047d3a4862b8af Mon Sep 17 00:00:00 2001
From: Jared Adams <jaxad0127@gmail.com>
Date: Wed, 2 Dec 2009 07:52:59 -0700
Subject: Fix map authentication response

This way,t he client will parse the duplicate login packet correctly when logging in.
---
 src/map/clif.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

(limited to 'src/map')

diff --git a/src/map/clif.c b/src/map/clif.c
index c961464..3fe4ad9 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -6146,6 +6146,9 @@ void clif_parse_WantToConnection(int fd, struct map_session_data *sd)
 		account_id = RFIFOL(fd,2);
 	} else return; // Not the auth packet
 
+	WFIFOL(fd,0) = account_id;
+	WFIFOSET(fd,4);
+
 	// if same account already connected, we disconnect the 2 sessions
 	if ((old_sd = map_id2sd(account_id)) != NULL) {
 		clif_authfail_fd(fd, 2); // same id
@@ -6161,9 +6164,6 @@ void clif_parse_WantToConnection(int fd, struct map_session_data *sd)
 
 		pc_setnewpc(sd, account_id, RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14), RFIFOB(fd,18), fd);
 
-		WFIFOL(fd,0) = sd->bl.id;
-		WFIFOSET(fd,4);
-
 		map_addiddb(&sd->bl);
 
 		chrif_authreq(sd);
-- 
cgit v1.2.3-70-g09d2