mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-08 19:08:14 +00:00
res_sorcery_astdb: Fix creation of retrieved objects.
The contents of this commit come from a portion of commit
a01ce2b889 of the 13 branch.
The commit referenced above's main point was to introduce some
performance enhancements for realtime. However, mixed in with that was a
bug fix for sorcery's astdb backend. The astdb was using an empty
objectset to create an object.
This, combined with the floating point conversion bug, was what was
contributing to contacts being deleted early.
ASTERISK-26007 #close
Reported by Greg Siemon
Change-Id: I84594079356a6fb2d2f61d56bf644e5409925ee2
This commit is contained in:
@@ -97,7 +97,6 @@ static void *sorcery_astdb_retrieve_fields_common(const struct ast_sorcery *sorc
|
||||
const char *key = entry->key + strlen(family) + 2;
|
||||
RAII_VAR(struct ast_json *, json, NULL, ast_json_unref);
|
||||
struct ast_json_error error;
|
||||
RAII_VAR(struct ast_variable *, objset, NULL, ast_variables_destroy);
|
||||
RAII_VAR(struct ast_variable *, existing, NULL, ast_variables_destroy);
|
||||
void *object = NULL;
|
||||
|
||||
@@ -113,7 +112,7 @@ static void *sorcery_astdb_retrieve_fields_common(const struct ast_sorcery *sorc
|
||||
}
|
||||
|
||||
if (!(object = ast_sorcery_alloc(sorcery, type, key)) ||
|
||||
ast_sorcery_objectset_apply(sorcery, object, objset)) {
|
||||
ast_sorcery_objectset_apply(sorcery, object, existing)) {
|
||||
ao2_cleanup(object);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user