Merge pull request #18 from joonicks/dev

updated esay buffer overflow fix
This commit is contained in:
joonicks 2020-05-28 01:46:46 +02:00 committed by GitHub
commit 3166202eb7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -313,7 +313,7 @@ void do_esay(COMMAND_ARGS)
char c,*chp; char c,*chp;
int i,n; int i,n;
ec_end = output + MSGLEN - 20; ec_end = output + MSGLEN - 50;
ec_src = rest; ec_src = rest;
rest = STREND(rest); rest = STREND(rest);
ec_dest = output; ec_dest = output;
@ -324,7 +324,9 @@ void do_esay(COMMAND_ARGS)
{ {
if (*ec_src != '$') if (*ec_src != '$')
{ {
*(ec_dest++) = *(ec_src++); if (ec_dest < ec_end)
*(ec_dest++) = *(ec_src);
ec_src++;
continue; continue;
} }
for(i=0;ecmd[i].len;i++) for(i=0;ecmd[i].len;i++)
@ -350,7 +352,9 @@ void do_esay(COMMAND_ARGS)
} }
if (!ecmd[i].len) if (!ecmd[i].len)
{ {
*(ec_dest++) = *(ec_src++); if (ec_dest < ec_end)
*(ec_dest++) = *(ec_src);
ec_src++;
} }
} }
*ec_dest = 0; *ec_dest = 0;