mirror of
https://github.com/anope/anope.git
synced 2026-06-29 11:36:38 +02:00
BUILD : 1.7.21 (1392) BUGS : NOTES : <Hal9000> fixes a potential crash in channels.c and does handle the TS on incoming FMODE in inspircd.11
git-svn-id: svn://svn.anope.org/anope/trunk@1392 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1107 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
parent
b4d51711c9
commit
1397cfdcd3
@@ -667,11 +667,23 @@ int anope_event_fmode(char *source, int ac, char **av)
|
||||
{
|
||||
char *newav[25];
|
||||
int n, o;
|
||||
Channel *c;
|
||||
|
||||
/* :source FMODE #test 12345678 +nto foo */
|
||||
if (ac < 3)
|
||||
return MOD_CONT;
|
||||
|
||||
/* Checking the TS for validity to avoid desyncs */
|
||||
c = findchan(av[0]);
|
||||
if (c->creation_time > strtol(av[1], NULL, 10)) {
|
||||
/* Our TS is bigger, we should lower it */
|
||||
c->creation_time = strtol(av[1], NULL, 10);
|
||||
} else if (c->creation_time < strtol(av[1], NULL, 10)) {
|
||||
/* The TS we got is bigger, we should ignore the message. */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
/* TS's are equal now, so we can proceed with parsing */
|
||||
n = o = 0;
|
||||
while (n < ac) {
|
||||
if (n != 1) {
|
||||
|
||||
Reference in New Issue
Block a user