[svn] - fix off-by-one memory overflow error.
This commit is contained in:
parent
a8086a7ca0
commit
c8ff7ca97f
3 changed files with 18 additions and 7 deletions
15
ChangeLog
15
ChangeLog
|
@ -1,3 +1,18 @@
|
||||||
|
jilles 2007/02/04 15:08:04 UTC (20070204-3203)
|
||||||
|
Log:
|
||||||
|
Change handling of modularized umodes:
|
||||||
|
- keep the bitmask reserved forever to the letter, fixing
|
||||||
|
the problems when loading multiple umode modules,
|
||||||
|
unloading them and then loading them in a different order
|
||||||
|
- don't allow local users to change umodes which have
|
||||||
|
been unloaded and don't set them on new users via
|
||||||
|
default_umodes
|
||||||
|
|
||||||
|
|
||||||
|
Changes: Modified:
|
||||||
|
+24 -3 trunk/src/s_user.c (File Modified)
|
||||||
|
|
||||||
|
|
||||||
jilles 2007/02/04 01:59:38 UTC (20070204-3201)
|
jilles 2007/02/04 01:59:38 UTC (20070204-3201)
|
||||||
Log:
|
Log:
|
||||||
Move find_umode_slot() from libcharybdis/tools.c to src/s_user.c.
|
Move find_umode_slot() from libcharybdis/tools.c to src/s_user.c.
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
#define SERNO "20070204-3201"
|
#define SERNO "20070204-3203"
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
* USA
|
* USA
|
||||||
*
|
*
|
||||||
* $Id: kqueue.c 398 2005-12-12 18:12:46Z nenolod $
|
* $Id: kqueue.c 3205 2007-02-09 22:18:23Z nenolod $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "stdinc.h"
|
#include "stdinc.h"
|
||||||
|
@ -103,7 +103,7 @@ kq_update_events(fde_t * F, short filter, PF * handler)
|
||||||
|
|
||||||
EV_SET(kep, (uintptr_t) F->fd, filter, kep_flags, 0, 0, (void *) F);
|
EV_SET(kep, (uintptr_t) F->fd, filter, kep_flags, 0, 0, (void *) F);
|
||||||
|
|
||||||
if(kqoff == kqmax)
|
if(++kqoff == kqmax)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -116,10 +116,6 @@ kq_update_events(fde_t * F, short filter, PF * handler)
|
||||||
}
|
}
|
||||||
kqoff = 0;
|
kqoff = 0;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
kqoff++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue