]> jfr.im git - solanum.git/commit
When a remote MODRESTART command is received, it will pass through the
authorAaron Jones <redacted>
Wed, 28 Dec 2016 22:08:14 +0000 (22:08 +0000)
committerAaron Jones <redacted>
Wed, 28 Dec 2016 22:08:14 +0000 (22:08 +0000)
commit41390bfe5fa3895b8deec57f987b71f90ada1f7d
tree475af40cadda4249841394affab0fc2b9c8edda9
parent6002ccec6b037f2370ddee42d64a6c4013d7faca
When a remote MODRESTART command is received, it will pass through the
ENCAP module. The ms_encap function is responsible for dispatching the
command handler and then the modules will eventually be reloaded.

However, if the ENCAP module is reloaded to a different address, the
stack now contains the address of a function that no longer exists.

Also, in this version of the IRCd, the module restarting functionality
was located in a function that is itself located in a module, so things
will also go badly if that module is reloaded to a different address,
too.

Return immediately from the command handler and have the event loop
call the function responsible for reloading the modules instead.

c.f. release/3.5 commit db05a3621058

Reported-by: mniip (Freenode)
ircd/modules.c
modules/core/m_modules.c