Переглянути джерело

Follow up to 78b6c15

Fixed a possible buffer overflow in mapindex.c
Lemongrass3110 9 роки тому
батько
коміт
a760e01c59
2 змінених файлів з 2 додано та 2 видалено
  1. 1 1
      src/common/mapindex.c
  2. 1 1
      src/map/script.c

+ 1 - 1
src/common/mapindex.c

@@ -120,7 +120,7 @@ unsigned short mapindex_name2idx(const char* name, const char *func) {
 }
 
 const char* mapindex_idx2name(unsigned short id, const char *func) {
-	if (id > MAX_MAPINDEX || !mapindex_exists(id)) {
+	if (id >= MAX_MAPINDEX || !mapindex_exists(id)) {
 		ShowDebug("(%s) mapindex_id2name: Requested name for non-existant map index [%d] in cache.\n", func, id);
 		return indexes[0].name; // dummy empty string so that the callee doesn't crash
 	}

+ 1 - 1
src/map/script.c

@@ -17656,7 +17656,7 @@ BUILDIN_FUNC(unitskillusepos)
 	if (bl != NULL) {
 		if (bl->type == BL_NPC) {
 			if (!((TBL_NPC*)bl)->status.hp)
-				status_calc_npc(((TBL_NPC*)bl), SCO_FORCE);
+				status_calc_npc(((TBL_NPC*)bl), SCO_FIRST);
 			else
 				status_calc_npc(((TBL_NPC*)bl), SCO_NONE);
 		}