]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
log: fix coverity warning
authorPhilippe Antoine <pantoine@oisf.net>
Fri, 23 Sep 2022 06:50:43 +0000 (08:50 +0200)
committerVictor Julien <vjulien@oisf.net>
Fri, 23 Sep 2022 13:50:52 +0000 (15:50 +0200)
CID 1515529

Checks ftell return value for negative/error

src/log-pcap.c

index d78539c7ac271b6966933be8bc6b14fcc9378c47..ebf43357820f8c2a731695c302fc20b534eb4ed2 100644 (file)
@@ -516,9 +516,13 @@ static inline int PcapWrite(
 #ifdef HAVE_LIBLZ4
     else if (pl->compression.format == PCAP_LOG_COMPRESSION_FORMAT_LZ4) {
         pcap_dump_flush(pl->pcap_dumper);
-        uint64_t in_size = (uint64_t)ftell(comp->pcap_buf_wrapper);
-        uint64_t out_size = LZ4F_compressUpdate(
-                comp->lz4f_context, comp->buffer, comp->buffer_size, comp->pcap_buf, in_size, NULL);
+        long in_size = ftell(comp->pcap_buf_wrapper);
+        if (in_size < 0) {
+            SCLogError(SC_ERR_PCAP_LOG_COMPRESS, "ftell failed with: %s", strerror(errno));
+            return TM_ECODE_FAILED;
+        }
+        uint64_t out_size = LZ4F_compressUpdate(comp->lz4f_context, comp->buffer, comp->buffer_size,
+                comp->pcap_buf, (uint64_t)in_size, NULL);
         if (LZ4F_isError(len)) {
             SCLogError(SC_ERR_PCAP_LOG_COMPRESS, "LZ4F_compressUpdate: %s", LZ4F_getErrorName(len));
             return TM_ECODE_FAILED;