summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--runtime/modules.c6
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 92956271..8619022d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
----------------------------------------------------------------------------
Version 7.2.8 [v7-stable] 2013-0?-??
+- bugfix: potential segfault on startup when builtin module was specified
+ in module() statement.
+ Thanks to Marius Tomaschewski for reporting the bug.
- bugfix: segfault due to invalid dynafile cache handling
Accidently, the old-style cache size parameter was used when the
dynafile cache was created in a RainerScript action. If the old-style
diff --git a/runtime/modules.c b/runtime/modules.c
index 9f7ff31c..ca444895 100644
--- a/runtime/modules.c
+++ b/runtime/modules.c
@@ -1041,7 +1041,6 @@ Load(uchar *pModName, sbool bConfLoad, struct nvlst *lst)
if(bConfLoad) {
localRet = readyModForCnf(pModInfo, &pNew, &pLast);
if(pModInfo->setModCnf != NULL && localRet == RS_RET_OK) {
- addModToCnfList(pNew, pLast);
if(!strncmp((char*)pModName, "builtin:", sizeof("builtin:")-1)) {
if(pModInfo->bSetModCnfCalled) {
errmsg.LogError(0, RS_RET_DUP_PARAM,
@@ -1057,6 +1056,11 @@ Load(uchar *pModName, sbool bConfLoad, struct nvlst *lst)
pModInfo->setModCnf(lst);
pModInfo->bSetModCnfCalled = 1;
}
+ } else {
+ /* regular modules need to be added to conf list (for
+ * builtins, this happend during initial load).
+ */
+ addModToCnfList(pNew, pLast);
}
}
}