diff --git a/spa/include/spa/pod/builder.h b/spa/include/spa/pod/builder.h index 9be8d3f38..240c53ca0 100644 --- a/spa/include/spa/pod/builder.h +++ b/spa/include/spa/pod/builder.h @@ -87,8 +87,9 @@ static inline void spa_pod_builder_init(struct spa_pod_builder *builder, void *d } static inline struct spa_pod * -spa_pod_builder_deref(struct spa_pod_builder *builder, uint32_t offset, uint32_t size) +spa_pod_builder_deref(struct spa_pod_builder *builder, uint32_t offset) { + uint32_t size = builder->size; if (offset + 8 <= size) { struct spa_pod *pod = SPA_MEMBER(builder->data, offset, struct spa_pod); if (offset + SPA_POD_SIZE(pod) <= size) @@ -100,7 +101,7 @@ spa_pod_builder_deref(struct spa_pod_builder *builder, uint32_t offset, uint32_t static inline struct spa_pod * spa_pod_builder_frame(struct spa_pod_builder *builder, struct spa_pod_frame *frame) { - return spa_pod_builder_deref(builder, frame->offset, builder->size); + return spa_pod_builder_deref(builder, frame->offset); } static inline void diff --git a/spa/include/spa/pod/filter.h b/spa/include/spa/pod/filter.h index c6c0c5015..dd2e9931f 100644 --- a/spa/include/spa/pod/filter.h +++ b/spa/include/spa/pod/filter.h @@ -367,7 +367,7 @@ spa_pod_filter(struct spa_pod_builder *b, spa_pod_builder_reset(b, &state); } else - *result = (struct spa_pod*)spa_pod_builder_deref(b, state.offset, b->size); + *result = (struct spa_pod*)spa_pod_builder_deref(b, state.offset); return res; }