From: Philippe Antoine Date: Tue, 18 Jan 2022 09:56:48 +0000 (+0100) Subject: output: fix integer warnings X-Git-Tag: suricata-6.0.6~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5df3973cc9a60f2d171ce71aa996de7c7f7827f8;p=thirdparty%2Fsuricata.git output: fix integer warnings Ticket: 4516 (cherry picked from commit e3180e3248e38311ad56a080233ad1a8d31a623b) --- diff --git a/src/output-json-dnp3.c b/src/output-json-dnp3.c index 7b2a7192e4..5ed7b5cd99 100644 --- a/src/output-json-dnp3.c +++ b/src/output-json-dnp3.c @@ -207,7 +207,7 @@ void JsonDNP3LogResponse(JsonBuilder *js, DNP3Transaction *dnp3tx) jb_close(js); jb_open_object(js, "iin"); - JsonDNP3LogIin(js, dnp3tx->response_iin.iin1 << 8 | dnp3tx->response_iin.iin2); + JsonDNP3LogIin(js, (uint16_t)(dnp3tx->response_iin.iin1 << 8 | dnp3tx->response_iin.iin2)); jb_close(js); } diff --git a/src/output-json-file.c b/src/output-json-file.c index 5932c6ab8f..5771b1bb69 100644 --- a/src/output-json-file.c +++ b/src/output-json-file.c @@ -203,7 +203,7 @@ JsonBuilder *JsonBuildFileInfoRecord(const Packet *p, const File *ff, * \brief Write meta data on a single line json record */ static void FileWriteJsonRecord(JsonFileLogThread *aft, const Packet *p, - const File *ff, uint32_t dir) + const File *ff, uint8_t dir) { HttpXFFCfg *xff_cfg = aft->filelog_ctx->xff_cfg != NULL ? aft->filelog_ctx->xff_cfg : aft->filelog_ctx->parent_xff_cfg;; diff --git a/src/output-json-ftp.c b/src/output-json-ftp.c index fc24e8e095..61059a03a2 100644 --- a/src/output-json-ftp.c +++ b/src/output-json-ftp.c @@ -94,11 +94,16 @@ static void EveFTPLogCommand(Flow *f, FTPTransaction *tx, JsonBuilder *jb) TAILQ_FOREACH(response, &tx->response_list, next) { /* handle multiple lines within the response, \r\n delimited */ uint8_t *where = response->str; - uint16_t length = response->len ? response->len -1 : 0; + uint16_t length = 0; uint16_t pos; if (!reply_truncated && response->truncated) { reply_truncated = true; } + if (response->len > 0 && response->len <= UINT16_MAX) { + length = (uint16_t)response->len - 1; + } else if (response->len > UINT16_MAX) { + length = UINT16_MAX; + } while ((pos = JsonGetNextLineFromBuffer((const char *)where, length)) != UINT16_MAX) { uint16_t offset = 0; /* Try to find a completion code for this line */ diff --git a/src/output-json-stats.c b/src/output-json-stats.c index 6e82745eb7..a46f91af6f 100644 --- a/src/output-json-stats.c +++ b/src/output-json-stats.c @@ -65,7 +65,7 @@ typedef enum OutputEngineInfo_ { typedef struct OutputStatsCtx_ { LogFileCtx *file_ctx; - uint32_t flags; /** Store mode */ + uint8_t flags; /** Store mode */ } OutputStatsCtx; typedef struct JsonStatsLogThread_ {