diff options
author | Miloslav Trmač <mitr@redhat.com> | 2012-09-25 13:52:41 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2012-10-11 18:10:45 +0200 |
commit | 3b5e2ec7b2d21cc145b62e8e6bcf5e58eb94918c (patch) | |
tree | 4a9201d4c7a77fbfb0e1b36557566be39feb92d5 /runtime/msg.c | |
parent | 3421209cd550b9470c218a4cda578b7aad42529f (diff) | |
download | rsyslog-3b5e2ec7b2d21cc145b62e8e6bcf5e58eb94918c.tar.gz rsyslog-3b5e2ec7b2d21cc145b62e8e6bcf5e58eb94918c.tar.xz rsyslog-3b5e2ec7b2d21cc145b62e8e6bcf5e58eb94918c.zip |
Fix crash when date properties are used without a template
E.g. in
> set $!time = $timereported;
> set $!time_rcvd = $timegenerated;
pTpe is set to NULL by the caller.
(Is "default" the correct format to use?)
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
Diffstat (limited to 'runtime/msg.c')
-rw-r--r-- | runtime/msg.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/runtime/msg.c b/runtime/msg.c index b79e4756..b0b93f98 100644 --- a/runtime/msg.c +++ b/runtime/msg.c @@ -2696,6 +2696,7 @@ uchar *MsgGetProp(msg_t *pMsg, struct templateEntry *pTpe, uchar *pBuf; int iLen; short iOffs; + enum tplFormatTypes datefmt; BEGINfunc assert(pMsg != NULL); @@ -2715,7 +2716,11 @@ uchar *MsgGetProp(msg_t *pMsg, struct templateEntry *pTpe, bufLen = getMSGLen(pMsg); break; case PROP_TIMESTAMP: - pRes = (uchar*)getTimeReported(pMsg, pTpe->data.field.eDateFormat); + if (pTpe != NULL) + datefmt = pTpe->data.field.eDateFormat; + else + datefmt = tplFmtDefault; + pRes = (uchar*)getTimeReported(pMsg, datefmt); break; case PROP_HOSTNAME: pRes = (uchar*)getHOSTNAME(pMsg); @@ -2765,7 +2770,11 @@ uchar *MsgGetProp(msg_t *pMsg, struct templateEntry *pTpe, pRes = (uchar*)getSeverityStr(pMsg); break; case PROP_TIMEGENERATED: - pRes = (uchar*)getTimeGenerated(pMsg, pTpe->data.field.eDateFormat); + if (pTpe != NULL) + datefmt = pTpe->data.field.eDateFormat; + else + datefmt = tplFmtDefault; + pRes = (uchar*)getTimeGenerated(pMsg, datefmt); break; case PROP_PROGRAMNAME: pRes = getProgramName(pMsg, LOCK_MUTEX); |