From ad7f1b4ae99d0d0652087ab23abd2717745f2d27 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 14 Jan 2009 18:45:42 +0000 Subject: [PATCH] The element size for our linear evmaps is a pointer, not the whole struct. svn:r1006 --- evmap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/evmap.c b/evmap.c index a34d2de8..bcbe8b3b 100644 --- a/evmap.c +++ b/evmap.c @@ -208,7 +208,7 @@ evmap_make_space(struct event_signal_map *map, int slot, int msize) return (-1); memset(&tmp[map->nentries], 0, - (nentries - map->nentries) * sizeof(void *)); + (nentries - map->nentries) * msize); map->nentries = nentries; map->entries = tmp; @@ -267,7 +267,7 @@ evmap_io_add(struct event_base *base, int fd, struct event *ev) #ifndef EVMAP_USE_HT if (fd >= io->nentries) { - if (evmap_make_space(io, fd, sizeof(struct evmap_io)) == -1) + if (evmap_make_space(io, fd, sizeof(struct evmap_io *)) == -1) return (-1); } #endif @@ -394,7 +394,7 @@ evmap_signal_add(struct event_base *base, int sig, struct event *ev) if (sig >= map->nentries) { if (evmap_make_space( - map, sig, sizeof(struct evmap_signal)) == -1) + map, sig, sizeof(struct evmap_signal *)) == -1) return (-1); } GET_SIGNAL_SLOT_AND_CTOR(ctx, map, sig, evmap_signal, evmap_signal_init);