diff --git a/src/common.c b/src/common.c index b3d5e1b..fba82b4 100644 --- a/src/common.c +++ b/src/common.c @@ -1072,6 +1072,8 @@ poller_ensure_space (struct poller *self) return; self->alloc <<= 1; + hard_assert (self->alloc != 0); + self->revents = xreallocarray (self->revents, sizeof *self->revents, self->alloc); self->info = xreallocarray diff --git a/src/zyklonb.c b/src/zyklonb.c index ca579d1..1d2388f 100644 --- a/src/zyklonb.c +++ b/src/zyklonb.c @@ -773,7 +773,7 @@ plugin_process_message (const struct irc_message *msg, return; const char *command = msg->params.vector[0]; - if (!strcasecmp (command, "register")) + if (!plugin->initialized && !strcasecmp (command, "register")) { // Register for relaying of IRC traffic plugin->initialized = true;