diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2013-05-10 17:34:05 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2013-05-10 17:34:05 +0200 |
commit | c397616d772714cf0d71870dc8f61c7a999bf939 (patch) | |
tree | 72d96dca2773b910504809924b63af54a1d38ff7 | |
parent | c142c2f69401dc800434efd6b901d1c4c2f27069 (diff) | |
parent | 0817fc95a810df497c52200c772fac743ca84dde (diff) | |
download | rsyslog-c397616d772714cf0d71870dc8f61c7a999bf939.tar.gz rsyslog-c397616d772714cf0d71870dc8f61c7a999bf939.tar.bz2 rsyslog-c397616d772714cf0d71870dc8f61c7a999bf939.zip |
Merge branch 'master' of git+ssh://git.adiscon.com/git/rsyslog
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | runtime/queue.c | 6 | ||||
-rw-r--r-- | runtime/rsyslog.h | 1 |
3 files changed, 13 insertions, 0 deletions
@@ -1,4 +1,10 @@ --------------------------------------------------------------------------- +Version 7.3.15 [beta] 2013-05-0? +- bugfix: segfault on startup if a disk queue was configure without file + name + Now this triggers an error message and the queue is changed to + linkedList type. +--------------------------------------------------------------------------- Version 7.3.14 [beta] 2013-05-06 - bugfix: some man pages were not properly installed either rscryutil or rsgtutil man was installed, but not both diff --git a/runtime/queue.c b/runtime/queue.c index 600b5688..85b1e45b 100644 --- a/runtime/queue.c +++ b/runtime/queue.c @@ -2760,6 +2760,12 @@ qqueueApplyCnfParam(qqueue_t *pThis, struct cnfparamvals *pvals) "param '%s'\n", pblk.descr[i].name); } } + if(pThis->qType == QUEUETYPE_DISK && pThis->pszFilePrefix == NULL) { + errmsg.LogError(0, RS_RET_QUEUE_DISK_NO_FN, "error on queue '%s', disk mode selected, but " + "no queue file name given; queue type changed to 'linkedList'", + obj.GetName((obj_t*) pThis)); + pThis->qType = QUEUETYPE_LINKEDLIST; + } cnfparamvalsDestruct(pvals, &pblk); return RS_RET_OK; } diff --git a/runtime/rsyslog.h b/runtime/rsyslog.h index a901d2ef..47b34783 100644 --- a/runtime/rsyslog.h +++ b/runtime/rsyslog.h @@ -412,6 +412,7 @@ enum rsRetVal_ /** return value. All methods return this if not specified oth RS_RET_EI_INVLD_FILE = -2325,/**< header indicates the file is no .encinfo file */ RS_RET_CRY_INVLD_ALGO = -2326,/**< user specified invalid (unkonwn) crypto algorithm */ RS_RET_CRY_INVLD_MODE = -2327,/**< user specified invalid (unkonwn) crypto mode */ + RS_RET_QUEUE_DISK_NO_FN = -2328,/**< disk queue configured, but filename not set */ /* RainerScript error messages (range 1000.. 1999) */ RS_RET_SYSVAR_NOT_FOUND = 1001, /**< system variable could not be found (maybe misspelled) */ |