|
|
|
|
@ -728,7 +728,9 @@ int StreamingBufferInsertAt(StreamingBuffer *sb, StreamingBufferSegment *seg,
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
BUG_ON(!DATA_FITS_AT_OFFSET(sb, data_len, rel_offset));
|
|
|
|
|
if (!DATA_FITS_AT_OFFSET(sb, data_len, rel_offset)) {
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
memcpy(sb->buf + rel_offset, data, data_len);
|
|
|
|
|
seg->stream_offset = offset;
|
|
|
|
|
@ -846,6 +848,7 @@ void StreamingBufferSegmentGetData(const StreamingBuffer *sb,
|
|
|
|
|
const StreamingBufferSegment *seg,
|
|
|
|
|
const uint8_t **data, uint32_t *data_len)
|
|
|
|
|
{
|
|
|
|
|
if (likely(sb->buf)) {
|
|
|
|
|
if (seg->stream_offset >= sb->stream_offset) {
|
|
|
|
|
uint64_t offset = seg->stream_offset - sb->stream_offset;
|
|
|
|
|
*data = sb->buf + offset;
|
|
|
|
|
@ -862,6 +865,7 @@ void StreamingBufferSegmentGetData(const StreamingBuffer *sb,
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
*data = NULL;
|
|
|
|
|
*data_len = 0;
|
|
|
|
|
return;
|
|
|
|
|
@ -942,7 +946,10 @@ int StreamingBufferCompareRawData(const StreamingBuffer *sb,
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
SCLogDebug("sbdata_len %u, offset %u", sbdata_len, (uint)offset);
|
|
|
|
|
//PrintRawDataFp(stdout, sbdata,sbdata_len);
|
|
|
|
|
printf("got:\n");
|
|
|
|
|
PrintRawDataFp(stdout, sbdata,sbdata_len);
|
|
|
|
|
printf("wanted:\n");
|
|
|
|
|
PrintRawDataFp(stdout, rawdata,rawdata_len);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|