summaryrefslogtreecommitdiffstats
path: root/runtime/rule.c
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/rule.c')
-rw-r--r--runtime/rule.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/runtime/rule.c b/runtime/rule.c
index f17c524e..12494543 100644
--- a/runtime/rule.c
+++ b/runtime/rule.c
@@ -106,6 +106,7 @@ shouldProcessThisMessage(rule_t *pRule, msg_t *pMsg, int *bProcessMsg)
unsigned short pbMustBeFreed;
char *pszPropVal;
int bRet = 0;
+ size_t propLen;
vm_t *pVM = NULL;
var_t *pResult = NULL;
@@ -177,7 +178,8 @@ shouldProcessThisMessage(rule_t *pRule, msg_t *pMsg, int *bProcessMsg)
bRet = (pResult->val.num) ? 1 : 0;
} else {
assert(pRule->f_filter_type == FILTER_PROP); /* assert() just in case... */
- pszPropVal = MsgGetProp(pMsg, NULL, pRule->f_filterData.prop.pCSPropName, &pbMustBeFreed);
+ pszPropVal = MsgGetProp(pMsg, NULL, pRule->f_filterData.prop.pCSPropName, &propLen, &pbMustBeFreed);
+ // TODO: optimize, we now have the length of the property!
/* Now do the compares (short list currently ;)) */
switch(pRule->f_filterData.prop.operation ) {