Use strtoul instead of strtol for sid parsing. Fixes parsing of really large sid numbers. Fixes #393.

remotes/origin/master-1.2.x
Victor Julien 13 years ago
parent c1a40447c1
commit c908574545

@ -61,7 +61,7 @@ static int DetectRevSetup (DetectEngineCtx *de_ctx, Signature *s, char *rawstr)
"to rev keyword");
goto error;
}
s->rev = rev;
s->rev = (uint32_t)rev;
if (dubbed)
SCFree(str);

@ -53,16 +53,15 @@ static int DetectSidSetup (DetectEngineCtx *de_ctx, Signature *s, char *sidstr)
dubbed = 1;
}
long id = 0;
unsigned long id = 0;
char *endptr = NULL;
id = strtol(sidstr, &endptr, 10);
id = strtoul(sidstr, &endptr, 10);
if (endptr == NULL || *endptr != '\0') {
SCLogError(SC_ERR_INVALID_SIGNATURE, "Saw an invalid character as arg "
"to sid keyword");
goto error;
}
s->id = id;
//s->id = (uint32_t)atoi(str);
s->id = (uint32_t)id;
if (dubbed)
SCFree(str);

Loading…
Cancel
Save