summaryrefslogtreecommitdiffstats
path: root/vmop.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2008-04-03 08:47:35 +0000
committerRainer Gerhards <rgerhards@adiscon.com>2008-04-03 08:47:35 +0000
commit11461ad9c6de62556df79a35ff0c4902e2881f57 (patch)
treebcebd3205f213ddd4a9ae5218d40bbe0f16b965f /vmop.c
parent2be9977a4db263400c8ba56c82e576b7da42cd86 (diff)
downloadrsyslog-11461ad9c6de62556df79a35ff0c4902e2881f57.tar.gz
rsyslog-11461ad9c6de62556df79a35ff0c4902e2881f57.tar.xz
rsyslog-11461ad9c6de62556df79a35ff0c4902e2881f57.zip
bugfix: memory leaks in script engine
Diffstat (limited to 'vmop.c')
-rw-r--r--vmop.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/vmop.c b/vmop.c
index affa83e7..91f84b91 100644
--- a/vmop.c
+++ b/vmop.c
@@ -59,6 +59,12 @@ rsRetVal vmopConstructFinalize(vmop_t __attribute__((unused)) *pThis)
/* destructor for the vmop object */
BEGINobjDestruct(vmop) /* be sure to specify the object type also in END and CODESTART macros! */
CODESTARTobjDestruct(vmop)
+ if( pThis->opcode == opcode_PUSHSYSVAR
+ || pThis->opcode == opcode_PUSHMSGVAR
+ || pThis->opcode == opcode_PUSHCONSTANT) {
+ if(pThis->operand.pVar != NULL)
+ var.Destruct(&pThis->operand.pVar);
+ }
ENDobjDestruct(vmop)