Fix potential crash in signature parsing code

remotes/origin/master-1.1.x
Gerardo Iglesias Galvan 14 years ago committed by Victor Julien
parent 91c001f93b
commit 73dd5562c3

@ -1004,7 +1004,7 @@ int SigParse(DetectEngineCtx *de_ctx, Signature *s, char *sigstr, uint8_t addrs_
s->sig_str = sigstr; s->sig_str = sigstr;
int ret = SigParseBasics(s, sigstr, &basics, addrs_direction); int ret = SigParseBasics(s, sigstr, &basics, addrs_direction);
if (ret < 0) { if (ret < 0 || basics == NULL) {
SCLogDebug("SigParseBasics failed"); SCLogDebug("SigParseBasics failed");
SCReturnInt(-1); SCReturnInt(-1);
} }
@ -1025,14 +1025,12 @@ int SigParse(DetectEngineCtx *de_ctx, Signature *s, char *sigstr, uint8_t addrs_
} }
/* cleanup */ /* cleanup */
if (basics != NULL) { int i = 0;
int i = 0; while (basics[i] != NULL) {
while (basics[i] != NULL) { SCFree(basics[i]);
SCFree(basics[i]); i++;
i++;
}
SCFree(basics);
} }
SCFree(basics);
s->sig_str = NULL; s->sig_str = NULL;

Loading…
Cancel
Save