Browse files

Fix a random crash with module hooks

How to reproduce:
1. have a global module which in a hook does something which calls
hooks too, e.g. Broadcast()
2. have another global module loaded after the first one which uses
m_pNetwork in that hook
3. enjoy the crash (or just weird behavior if you're unlucky)

So, when ZNC is setup with the "proper" global modules and in a special
order, one can crash it just from IRC, by triggering the needed module hooks.

Affected version: 1.0

Thanks to ChauffeR (Simone Esposito) for reporting the issue
and helping to debug it.
  • Loading branch information...
1 parent cc27966 commit feca415c2342bd0339af07e95a1e0811385ec2d3 @DarthGandalf DarthGandalf committed Oct 20, 2013
Showing with 1 addition and 0 deletions.
  1. +1 −0 include/znc/main.h
@@ -71,6 +71,7 @@ extern bool ZNC_NO_NEED_TO_DO_ANYTHING_ON_MODULE_CALL_EXITER;
*macEXITER = true; \
} \
GMods.SetUser(pOldGUser); \
+ GMods.SetNetwork(pOldGNetwork); \
GMods.SetClient(pOldGClient); \
} while (false)

0 comments on commit feca415

Please sign in to comment.