diff options
-rw-r--r-- | src/map/clif.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index eba0229ed..811f3bde0 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -9806,11 +9806,13 @@ void clif_parse_NpcStringInput(int fd,struct map_session_data *sd) if(message_len >= sizeof(sd->npc_str)){
ShowWarning("clif: input string too long !\n");
message_len = sizeof(sd->npc_str);
+ } else {
+ message_len += 1; // Null character
}
// Exploit prevention if crafted packets (without null) is being sent. [Lance]
memcpy(sd->npc_str,RFIFOP(fd,8),message_len);
- sd->npc_str[message_len]=0;
+ sd->npc_str[message_len-1]=0;
npc_scriptcont(sd,RFIFOL(fd,4));
}
|