mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
pod: _builder_deref() always works with builder size
This commit is contained in:
parent
76956eb41c
commit
bb60708ccc
2 changed files with 4 additions and 3 deletions
|
|
@ -87,8 +87,9 @@ static inline void spa_pod_builder_init(struct spa_pod_builder *builder, void *d
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline struct spa_pod *
|
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) {
|
if (offset + 8 <= size) {
|
||||||
struct spa_pod *pod = SPA_MEMBER(builder->data, offset, struct spa_pod);
|
struct spa_pod *pod = SPA_MEMBER(builder->data, offset, struct spa_pod);
|
||||||
if (offset + SPA_POD_SIZE(pod) <= size)
|
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 *
|
static inline struct spa_pod *
|
||||||
spa_pod_builder_frame(struct spa_pod_builder *builder, struct spa_pod_frame *frame)
|
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
|
static inline void
|
||||||
|
|
|
||||||
|
|
@ -367,7 +367,7 @@ spa_pod_filter(struct spa_pod_builder *b,
|
||||||
spa_pod_builder_reset(b, &state);
|
spa_pod_builder_reset(b, &state);
|
||||||
}
|
}
|
||||||
else
|
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;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue