Jelajahi Sumber

Fixed a map server crash

The crash was caused by an invalid reference assignment, which was introduced in a58584c.

Fixes #9102

Thanks to @kaninhot004, @skstrife and @Playtester
Lemongrass3110 2 bulan lalu
induk
melakukan
b7b36d8f50
1 mengubah file dengan 6 tambahan dan 2 penghapusan
  1. 6 2
      src/map/clif.cpp

+ 6 - 2
src/map/clif.cpp

@@ -1500,11 +1500,15 @@ void clif_class_change( block_list& bl, int32 class_, enum send_target target, m
 	p.type = 0;
 	p.class_ = class_;
 
+	block_list* tbl;
+
 	if( sd != nullptr ){
-		bl = sd->bl;
+		tbl = &sd->bl;
+	}else{
+		tbl = &bl;
 	}
 
-	clif_send( &p, sizeof( p ), &bl, target );
+	clif_send( &p, sizeof( p ), tbl, target );
 }
 
 void clif_servantball( map_session_data& sd, struct block_list* target, enum send_target send_target ){