From: Eric Leblond Date: Thu, 19 Aug 2021 09:21:21 +0000 (+0200) Subject: util/streaming: improve error handling X-Git-Tag: suricata-5.0.9~99 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f663cdc61461fbbd4eaf77d6f982d7267cd87517;p=thirdparty%2Fsuricata.git util/streaming: improve error handling It differentiates memory error than regular ones. (cherry picked from commit 0e70958e67398f599b77ba991dc631e025cae5f4) --- diff --git a/src/util-streaming-buffer.c b/src/util-streaming-buffer.c index 4822e94af6..a12fb2da6e 100644 --- a/src/util-streaming-buffer.c +++ b/src/util-streaming-buffer.c @@ -679,6 +679,10 @@ int StreamingBufferAppendNoTrack(StreamingBuffer *sb, /** * \param offset offset relative to StreamingBuffer::stream_offset + * + * \return 0 in case of success + * \return -1 on memory allocation errors + * \return negative value on other errors */ int StreamingBufferInsertAt(StreamingBuffer *sb, StreamingBufferSegment *seg, const uint8_t *data, uint32_t data_len, @@ -687,7 +691,7 @@ int StreamingBufferInsertAt(StreamingBuffer *sb, StreamingBufferSegment *seg, BUG_ON(seg == NULL); if (offset < sb->stream_offset) - return -1; + return -2; if (sb->buf == NULL) { if (InitBuffer(sb) == -1) @@ -706,7 +710,7 @@ int StreamingBufferInsertAt(StreamingBuffer *sb, StreamingBufferSegment *seg, } } if (!DATA_FITS_AT_OFFSET(sb, data_len, rel_offset)) { - return -1; + return -2; } memcpy(sb->buf + rel_offset, data, data_len);