diff --git a/src/pulsecore/tagstruct.c b/src/pulsecore/tagstruct.c index e72aeb855b46a8cff4a71a8db19f4f890e8e07c0..6a30d7e6e2574efbde4d69a9419acc8e3eac2f2c 100644 --- a/src/pulsecore/tagstruct.c +++ b/src/pulsecore/tagstruct.c @@ -326,8 +326,12 @@ void pa_tagstruct_put_proplist(pa_tagstruct *t, const pa_proplist *p) { if (!(k = pa_proplist_iterate(p, &state))) break; + if (pa_proplist_get(p, k, &d, &l) < 0) { + pa_log_error("pa_proplist_get k:%s error, continue", k); + continue; + } + pa_tagstruct_puts(t, k); - pa_assert_se(pa_proplist_get(p, k, &d, &l) >= 0); pa_tagstruct_putu32(t, (uint32_t) l); pa_tagstruct_put_arbitrary(t, d, l); }