summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2015-06-29 12:45:02 -0500
committerMark Michelson <mmichelson@digium.com>2015-06-29 14:35:08 -0500
commit156395e743189649280066c1497292bb97ed022d (patch)
tree49c4b13f57903c80cbed14983226288f98fc810c
parentbfa5d38a1b49670f744cc1dc0bb91a1bca26691e (diff)
res_sorcery_realtime: Fix leak of sorcery object type.
This prevents a leak of a sorcery object type when realtime sorcery objects are retrieved by fields or when multiple objects are retrieved. The extent of this leak is that sorcery object types would be leaked. These are allocated whenever an object type is registered with sorcery, meaning that on module shutdown, these objects would be leaked. This could be problematic if many reloads were performed, but it is not as severe as if every sorcery object retrieved from realtime were being leaked. ASTERISK-25165 #close Reported by Corey Farrell Change-Id: I625c3b50eee4576670b7eeb013c81ad043b4b4f8
-rw-r--r--res/res_sorcery_realtime.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/res/res_sorcery_realtime.c b/res/res_sorcery_realtime.c
index fcdc2a971..fc22170a5 100644
--- a/res/res_sorcery_realtime.c
+++ b/res/res_sorcery_realtime.c
@@ -142,6 +142,8 @@ static struct ast_variable *sorcery_realtime_filter_objectset(struct ast_variabl
}
}
+ ao2_ref(object_type, -1);
+
return objectset;
}