Browse Source

bounds updates

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@797 54d463be-8e91-2dee-dedb-b68131a5f0ec
amber 20 years ago
parent
commit
ca67b45fbd
3 changed files with 4 additions and 2 deletions
  1. 1 1
      Changelog.txt
  2. 2 0
      src/map/battle.c
  3. 1 1
      src/map/clif.c

+ 1 - 1
Changelog.txt

@@ -1,6 +1,6 @@
 Date	Added
 12/26
-	* Fixed some array bounds errors (SVN 796) [MouseJstr]
+	* Fixed some array bounds errors (SVN 797) [MouseJstr]
 	* @mapexit (and do_final) now persist all data to the
 	  char server before exiting to eliminate storage/inventory
 	  inconsistancies.. [MouseJstr]  (SVN 793)

+ 2 - 0
src/map/battle.c

@@ -3026,8 +3026,10 @@ static struct Damage battle_calc_pc_weapon_attack(
 		damage += atkmax;
 		damage2 += atkmax_;
 		if(sd->atk_rate != 100 || sd->weapon_atk_rate != 0) {
+                    if (sd->status.weapon < 16) {
 			damage = (damage * (sd->atk_rate + sd->weapon_atk_rate[sd->status.weapon]))/100;
 			damage2 = (damage2 * (sd->atk_rate + sd->weapon_atk_rate[sd->status.weapon]))/100;
+                    }
 		}
 		if(sd->state.arrow_atk)
 			damage += sd->arrow_atk;

+ 1 - 1
src/map/clif.c

@@ -5105,7 +5105,7 @@ int clif_item_skill(struct map_session_data *sd,int skillid,int skilllv,const ch
 	if(range < 0)
 		range = battle_get_range(&sd->bl) - (range + 1);
 	WFIFOW(fd,12)=range;
-	memcpy(WFIFOP(fd,14),name,24);
+	strncpy(WFIFOP(fd,14),name,24);
 	WFIFOB(fd,38)=0;
 	WFIFOSET(fd,packet_len_table[0x147]);
 	return 0;