diff options
author | Vlad Grigorescu <grigorescu@gmail.com> | 2011-10-17 13:03:52 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2011-10-17 13:03:52 +0200 |
commit | e2836f5f430e63bd96502cca74dbc302938e5a23 (patch) | |
tree | 09c6a12cb9c89a93788a3b455ab9e563fcafb243 /action.c | |
parent | cd5253fa82fdbd7529f76c9cec2130e1ccb210bb (diff) | |
download | rsyslog-e2836f5f430e63bd96502cca74dbc302938e5a23.tar.gz rsyslog-e2836f5f430e63bd96502cca74dbc302938e5a23.tar.xz rsyslog-e2836f5f430e63bd96502cca74dbc302938e5a23.zip |
bugfix: ActionQueue could malfunction due to index error
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
Diffstat (limited to 'action.c')
-rw-r--r-- | action.c | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -767,7 +767,7 @@ finalize_it: */ static rsRetVal releaseBatch(action_t *pAction, batch_t *pBatch) { - int iArr; + int jArr; int i, j; batch_obj_t *pElem; uchar ***ppMsgs; @@ -781,15 +781,15 @@ static rsRetVal releaseBatch(action_t *pAction, batch_t *pBatch) switch(pAction->eParamPassing) { case ACT_ARRAY_PASSING: ppMsgs = (uchar***) pElem->staticActParams; - for(i = 0 ; i < pAction->iNumTpls ; ++i) { - if(((uchar**)ppMsgs)[i] != NULL) { - iArr = 0; - while(ppMsgs[i][iArr] != NULL) { - d_free(ppMsgs[i][iArr++]); - ppMsgs[i][iArr++] = NULL; + for(j = 0 ; j < pAction->iNumTpls ; ++j) { + if(((uchar**)ppMsgs)[j] != NULL) { + jArr = 0; + while(ppMsgs[j][jArr] != NULL) { + d_free(ppMsgs[j][jArr++]); + ppMsgs[j][jArr++] = NULL; } - d_free(((uchar**)ppMsgs)[i]); - ((uchar**)ppMsgs)[i] = NULL; + d_free(((uchar**)ppMsgs)[j]); + ((uchar**)ppMsgs)[j] = NULL; } } break; |