diff --git a/spa/include/spa/pod/parser.h b/spa/include/spa/pod/parser.h index 99b9927a4..31f4c8849 100644 --- a/spa/include/spa/pod/parser.h +++ b/spa/include/spa/pod/parser.h @@ -398,10 +398,13 @@ do { \ case 'T': \ case 'O': \ case 'V': \ - *va_arg(args, const struct spa_pod**) = \ - (pod == NULL || (SPA_POD_TYPE(pod) == SPA_TYPE_None) \ + { \ + const struct spa_pod **d = va_arg(args, const struct spa_pod**); \ + if (d) \ + *d = (pod == NULL || (SPA_POD_TYPE(pod) == SPA_TYPE_None) \ ? NULL : pod); \ break; \ + } \ default: \ break; \ } \