mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-04-05 07:15:34 -04:00
json-builder: handle allocation failures in vasprintf
This commit is contained in:
parent
8ceb671cc8
commit
06f336a581
1 changed files with 12 additions and 9 deletions
|
|
@ -279,9 +279,10 @@ void spa_json_builder_object_stringv(struct spa_json_builder *b,
|
||||||
const char *key, const char *fmt, va_list va)
|
const char *key, const char *fmt, va_list va)
|
||||||
{
|
{
|
||||||
char *val;
|
char *val;
|
||||||
vasprintf(&val, fmt, va);
|
if (vasprintf(&val, fmt, va) > 0) {
|
||||||
spa_json_builder_object_string(b, key, val);
|
spa_json_builder_object_string(b, key, val);
|
||||||
free(val);
|
free(val);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SPA_API_JSON_BUILDER SPA_PRINTF_FUNC(3,4)
|
SPA_API_JSON_BUILDER SPA_PRINTF_FUNC(3,4)
|
||||||
|
|
@ -346,10 +347,11 @@ void spa_json_builder_object_valuef(struct spa_json_builder *b,
|
||||||
va_list va;
|
va_list va;
|
||||||
char *val;
|
char *val;
|
||||||
va_start(va, fmt);
|
va_start(va, fmt);
|
||||||
vasprintf(&val, fmt, va);
|
if (vasprintf(&val, fmt, va) > 0) {
|
||||||
|
spa_json_builder_object_value(b, recurse, key, val);
|
||||||
|
free(val);
|
||||||
|
}
|
||||||
va_end(va);
|
va_end(va);
|
||||||
spa_json_builder_object_value(b, recurse, key, val);
|
|
||||||
free(val);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -408,10 +410,11 @@ void spa_json_builder_array_valuef(struct spa_json_builder *b, bool recurse, con
|
||||||
va_list va;
|
va_list va;
|
||||||
char *val;
|
char *val;
|
||||||
va_start(va, fmt);
|
va_start(va, fmt);
|
||||||
vasprintf(&val, fmt, va);
|
if (vasprintf(&val, fmt, va) > 0) {
|
||||||
|
spa_json_builder_object_value(b, recurse, NULL, val);
|
||||||
|
free(val);
|
||||||
|
}
|
||||||
va_end(va);
|
va_end(va);
|
||||||
spa_json_builder_object_value(b, recurse, NULL, val);
|
|
||||||
free(val);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SPA_API_JSON_BUILDER char *spa_json_builder_reformat(const char *json, uint32_t flags)
|
SPA_API_JSON_BUILDER char *spa_json_builder_reformat(const char *json, uint32_t flags)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue