From cbd15650f155f11acf49d03363fb65ee291dbee8 Mon Sep 17 00:00:00 2001
From: ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>
Date: Sun, 20 Jan 2008 12:36:28 +0000
Subject: [PATCH] Fixed yet another status code crash, this time when a
 stonecursed mob with high maxhp changes class to a Poring (see bugreport:621)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12097 54d463be-8e91-2dee-dedb-b68131a5f0ec
---
 src/map/status.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/map/status.c b/src/map/status.c
index ce33bceeb9..32d8bfacb9 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -6780,7 +6780,14 @@ int status_change_timer(int tid, unsigned int tick, int id, int data)
 		}
 		if(--(sce->val3) > 0) {
 			if(++(sce->val4)%5 == 0 && status->hp > status->max_hp/4)
+			{
+				bool flag;
+				map_freeblock_lock();
 				status_zap(bl, sce->val2, 0);
+				flag = !sc->data[type];
+				map_freeblock_unlock();
+				if (flag) return 0; //target died, SC cancelled already.
+			}
 			sc_timer_next(1000+tick,status_change_timer, bl->id, data );
 			return 0;
 		}