From 21318fda56f7262a0a0225ea0230131e26f1664d Mon Sep 17 00:00:00 2001 From: trojal Date: Tue, 10 Jul 2012 19:19:36 +0000 Subject: Fixed bugreport:6200 Prevent server crash when releasing empty spellbooks. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16388 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/map/skill.c b/src/map/skill.c index c9d71af7f..7ed6be7c5 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4105,6 +4105,9 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int for(i = SC_MAXSPELLBOOK; i >= SC_SPELLBOOK1; i--) // List all available spell to be released if( sc->data[i] ) spell[s++] = i; + if ( i == 0 ) + break; + i = spell[s==1?0:rand()%s];// Random select of spell to be released. if( s && sc->data[i] ){// Now extract the data from the preserved spell skill_id = sc->data[i]->val1; -- cgit v1.2.3-70-g09d2