diff options
-rw-r--r-- | main/sorcery.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/main/sorcery.c b/main/sorcery.c index 790e782cc..6d24b1486 100644 --- a/main/sorcery.c +++ b/main/sorcery.c @@ -1600,10 +1600,13 @@ struct ast_json *ast_sorcery_objectset_json_create(const struct ast_sorcery *sor char *buf = NULL; struct ast_json *value = NULL; - if ((res = object_field->handler(object, object_field->args, &buf)) + if (object_field->handler(object, object_field->args, &buf) || !(value = ast_json_string_create(buf)) || ast_json_object_set(json, object_field->name, value)) { - res = -1; + ast_free(buf); + ast_debug(5, "Skipping field '%s' for object type '%s'\n", + object_field->name, object_type->name); + continue; } ast_free(buf); |