output: debug validation before stack allocation

A rule size has a global bound, which bounds the references
parsed in it.

Ticket: 8001
pull/14975/head
Philippe Antoine 8 months ago committed by Victor Julien
parent 6ec9e5c957
commit 2cb8ba5bec

@ -185,6 +185,7 @@ static void AlertJsonReference(const PacketAlert *pa, SCJsonBuilder *jb)
* add +2 to safisfy gcc 15 + -Wformat-truncation=2
*/
const size_t size_needed = kv->key_len + kv->reference_len + 3;
DEBUG_VALIDATE_BUG_ON(size_needed > DETECT_MAX_RULE_SIZE);
char kv_store[size_needed];
snprintf(kv_store, size_needed, "%s%s", kv->key, kv->reference);
SCJbAppendString(jb, kv_store);

Loading…
Cancel
Save