|
|
|
|
@ -96,8 +96,9 @@ int HtpBodyAppendChunk(const HTPCfgDir *hcfg, HtpBody *body,
|
|
|
|
|
if (body->first == NULL) {
|
|
|
|
|
/* New chunk */
|
|
|
|
|
bd = (HtpBodyChunk *)HTPCalloc(1, sizeof(HtpBodyChunk));
|
|
|
|
|
if (bd == NULL)
|
|
|
|
|
goto error;
|
|
|
|
|
if (bd == NULL) {
|
|
|
|
|
SCReturnInt(-1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
StreamingBufferAppend(body->sb, &bd->sbseg, data, len);
|
|
|
|
|
|
|
|
|
|
@ -106,8 +107,9 @@ int HtpBodyAppendChunk(const HTPCfgDir *hcfg, HtpBody *body,
|
|
|
|
|
body->content_len_so_far = len;
|
|
|
|
|
} else {
|
|
|
|
|
bd = (HtpBodyChunk *)HTPCalloc(1, sizeof(HtpBodyChunk));
|
|
|
|
|
if (bd == NULL)
|
|
|
|
|
goto error;
|
|
|
|
|
if (bd == NULL) {
|
|
|
|
|
SCReturnInt(-1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
StreamingBufferAppend(body->sb, &bd->sbseg, data, len);
|
|
|
|
|
|
|
|
|
|
@ -119,12 +121,6 @@ int HtpBodyAppendChunk(const HTPCfgDir *hcfg, HtpBody *body,
|
|
|
|
|
SCLogDebug("body %p", body);
|
|
|
|
|
|
|
|
|
|
SCReturnInt(0);
|
|
|
|
|
|
|
|
|
|
error:
|
|
|
|
|
if (bd != NULL) {
|
|
|
|
|
HTPFree(bd, sizeof(HtpBodyChunk));
|
|
|
|
|
}
|
|
|
|
|
SCReturnInt(-1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|