diff --git a/src/shared/bap.c b/src/shared/bap.c
index d05c9f6..38c353a 100644
--- a/src/shared/bap.c
+++ b/src/shared/bap.c
base_iov->iov_base = util_malloc(BASE_MAX_LENGTH);
- if (!util_iov_push_le24(base_iov, base->pres_delay))
+ if (!util_iov_push_le24(base_iov, base->pres_delay)) {
+ free(base_iov->iov_base);
+ free(base_iov);
return NULL;
+ }
if (!util_iov_push_u8(base_iov,
- queue_length(base->subgroups)))
+ queue_length(base->subgroups))) {
+ free(base_iov->iov_base);
+ free(base_iov);
return NULL;
+ }
queue_foreach(base->subgroups, generate_subgroup_base,
base_iov);