From 3e53a34615c2535dbed3d7c2c7a00f1ef3eaff0a Mon Sep 17 00:00:00 2001 From: shennetsind Date: Sat, 17 Jan 2015 18:49:03 -0200 Subject: Another ~10 Fixes Addressing out of bounds read/write. Special Thanks to 4144 and Haruna! Signed-off-by: shennetsind --- src/map/npc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/map/npc.c') diff --git a/src/map/npc.c b/src/map/npc.c index 28709d34f..8ecefb5a0 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -3605,7 +3605,8 @@ const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const char* st } if (mobspawn.num > db->spawn[i].qty) { //Insert into list - memmove(&db->spawn[i+1], &db->spawn[i], sizeof(db->spawn) -(i+1)*sizeof(db->spawn[0])); + if( i != ARRAYLENGTH(db->spawn) - 1 ) + memmove(&db->spawn[i+1], &db->spawn[i], sizeof(db->spawn) -(i+1)*sizeof(db->spawn[0])); db->spawn[i].mapindex = map_id2index(mobspawn.m); db->spawn[i].qty = mobspawn.num; break; -- cgit v1.2.3-60-g2f50