From 09a64b615b3f711c5ee7705beb1a224c6a5365d2 Mon Sep 17 00:00:00 2001 From: Ziggeh Date: Sat, 6 Sep 2014 11:01:44 +0200 Subject: [PATCH] Fixed potential exploit with respecing --- src/services/SkillService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/services/SkillService.java b/src/services/SkillService.java index 453dfbbe..cb076e50 100644 --- a/src/services/SkillService.java +++ b/src/services/SkillService.java @@ -323,8 +323,12 @@ public class SkillService implements INetworkDispatch { SetProfessionTemplate profTemplate = new SetProfessionTemplate(); profTemplate.deserialize(buffer); + CreatureObject creature = (CreatureObject) core.objectService.getObject(profTemplate.getCharacterId()); - core.playerService.respec((CreatureObject) core.objectService.getObject(profTemplate.getCharacterId()), profTemplate.getProfession()); + if (!creature.getClient().getSession().equals(session)) + return; + + core.playerService.respec(creature, profTemplate.getProfession()); });