int32_t ret;
uint32_t padding = offset_align((*fb)->b.len, align);
+ if ((*fb)->b.len + padding + len > LTTNG_FILTER_MAX_LEN)
+ return -EINVAL;
+
if ((*fb)->b.len + padding + len > (*fb)->alloc_len) {
uint32_t new_len =
max_t(uint32_t, 1U << get_count_order((*fb)->b.len + padding + len),
(*fb)->alloc_len << 1);
uint32_t old_len = (*fb)->alloc_len;
- if (new_len > 0xFFFF)
- return -EINVAL;
*fb = realloc(*fb, sizeof(struct lttng_filter_bytecode_alloc) + new_len);
if (!*fb)
return -ENOMEM;
uint32_t insn_len = sizeof(struct load_op)
+ sizeof(struct field_ref);
struct field_ref ref_offset;
- uint16_t reloc_offset;
+ uint32_t reloc_offset;
insn = calloc(insn_len, 1);
if (!insn)