From 17ef6e228c7704e532d5b222d8560d287ee202e2 Mon Sep 17 00:00:00 2001 From: gumi Date: Fri, 9 Mar 2018 16:51:19 -0500 Subject: validate name size before sending custom mob names --- src/map/clif.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/map/clif.cpp b/src/map/clif.cpp index 184bb9d..2208291 100644 --- a/src/map/clif.cpp +++ b/src/map/clif.cpp @@ -1085,7 +1085,7 @@ int clif_spawnmob(dumb_ptr md) } // custom mob names - if (md->name != MobName() && md->name != get_mob_db(md->mob_class).name) + if (md->name != MobName() && md->name != get_mob_db(md->mob_class).name && md->name.size() >= 4) { Packet_Fixed<0x0095> fixed_95; fixed_95.block_id = md->bl_id; @@ -2640,7 +2640,7 @@ void clif_getareachar_mob(dumb_ptr sd, dumb_ptr md) } // custom mob names - if (md->name != MobName() && md->name != get_mob_db(md->mob_class).name) + if (md->name != MobName() && md->name != get_mob_db(md->mob_class).name && md->name.size() >= 4) { Packet_Fixed<0x0095> fixed_95; fixed_95.block_id = md->bl_id; @@ -3835,10 +3835,12 @@ RecvResult clif_parse_GetCharNameRequest(Session *s, dumb_ptr case BL::MOB: { dumb_ptr md = bl->is_mob(); - nullpo_retr(rv, md); - fixed_95.char_name = stringish(md->name); + if (md->name != MobName() && md->name != get_mob_db(md->mob_class).name && md->name.size() >= 4) + fixed_95.char_name = stringish(md->name); + else + fixed_95.char_name = stringish(get_mob_db(md->mob_class).name); send_fpacket<0x0095, 30>(s, fixed_95); } break; -- cgit v1.2.3-60-g2f50