From 527b05b6b8c5fdb57c92d6a0099ccfccbaaceabf Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Thu, 27 Mar 2025 14:55:32 +0100 Subject: [PATCH] datasets: fix new -Wshorten-64-to-32 warning Ticket: #6186 --- src/datasets.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/datasets.c b/src/datasets.c index c0c8a9b3d7..8a734d41fb 100644 --- a/src/datasets.c +++ b/src/datasets.c @@ -1370,7 +1370,11 @@ static int DatasetOpSerialized(Dataset *set, const char *string, DatasetOpFunc D switch (set->type) { case DATASET_TYPE_STRING: { - uint32_t decoded_size = SCBase64DecodeBufferSize(strlen(string)); + if (strlen(string) > UINT16_MAX) { + // size check before cast and stack allocation + return -1; + } + uint32_t decoded_size = SCBase64DecodeBufferSize((uint32_t)strlen(string)); uint8_t decoded[decoded_size]; uint32_t num_decoded = SCBase64Decode( (const uint8_t *)string, strlen(string), SCBase64ModeStrict, decoded); -- 2.47.2