src/proto-p10.c (irc_p10_pton): Avoid writing past the end of ip->in6.
(irc_p10_ntop): Avoid writing past the end of output.
do {
if (*input == '_') {
unsigned int left;
do {
if (*input == '_') {
unsigned int left;
- for (left = (25 - strlen(input)) / 3; left; left--)
+ for (left = (25 - strlen(input)) / 3 - pos; left; left--)
ip->in6[pos++] = 0;
input++;
} else {
ip->in6[pos++] = 0;
input++;
} else {
} else {
inttobase64(output, ntohs(ip->in6[ii]), 3);
output += 3;
} else {
inttobase64(output, ntohs(ip->in6[ii]), 3);
output += 3;