diff options
author | Michael Biebl <biebl@debian.org> | 2008-03-29 12:15:13 +0100 |
---|---|---|
committer | Michael Biebl <biebl@debian.org> | 2008-03-29 12:15:13 +0100 |
commit | 9b68e0f3a37ec87dff0f24665a89cd36c8adcb72 (patch) | |
tree | 248494aafae9aa9cd54b0fd628fde0558dfb5f20 /modules.c | |
parent | 4f9e746bd83a363f2f66a1f31ed9fd92f614754e (diff) | |
download | rsyslog-9b68e0f3a37ec87dff0f24665a89cd36c8adcb72.tar.gz |
Imported Upstream version 2.0.3upstream/2.0.3
Diffstat (limited to 'modules.c')
-rw-r--r-- | modules.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -378,6 +378,18 @@ rsRetVal modUnloadAndDestructDynamic(void) } } + /* Note: the last modules pNext pointer is now invalid + * (except if the last module was not touched, what is highly + * unlikely. We simply fix this be setting it to NULL. After all, + * it is the last module ;). This bug had some severe effects in + * v3, but none in v2 because in v2 the list was never again + * traversed before a new one was added. But even in v2 it may cause + * a segfault if the number of loaded modules changed between HUPs. + * rgerhards, 2008-02-26 + */ + if(pLoadedModulesLast != NULL) + pLoadedModulesLast->pNext = NULL; + return iRet; } /* |