diff --git a/src/libbpfilter/matcher.c b/src/libbpfilter/matcher.c index 45568b31..3fee0f11 100644 --- a/src/libbpfilter/matcher.c +++ b/src/libbpfilter/matcher.c @@ -1378,7 +1378,7 @@ static int _bf_matcher_new(struct bf_matcher **matcher, if (payload_len > SIZE_MAX - sizeof(*_matcher)) return -E2BIG; - _matcher = malloc(sizeof(struct bf_matcher) + payload_len); + _matcher = calloc(1, sizeof(struct bf_matcher) + payload_len); if (!_matcher) return -ENOMEM; @@ -1429,7 +1429,7 @@ int bf_matcher_new_from_raw(struct bf_matcher **matcher, bf_matcher_type_to_str(type), bf_matcher_op_to_str(op)); } - _matcher = malloc(sizeof(*_matcher) + ops->ref_payload_size); + _matcher = calloc(1, sizeof(*_matcher) + ops->ref_payload_size); if (!_matcher) return -ENOMEM; diff --git a/src/libbpfilter/set.c b/src/libbpfilter/set.c index a0b01c45..e2992a8e 100644 --- a/src/libbpfilter/set.c +++ b/src/libbpfilter/set.c @@ -323,7 +323,7 @@ int bf_set_add_elem_raw(struct bf_set *set, const char *raw_elem) raw_elem); } - elem = malloc(set->elem_size); + elem = calloc(1, set->elem_size); if (!elem) return bf_err_r(-ENOMEM, "failed to allocate a new set element");