From 28a7370459ed94026c4bf8e5315deda192aac089 Mon Sep 17 00:00:00 2001 From: Boram Park Date: Mon, 26 Feb 2018 11:15:24 +0900 Subject: [PATCH] client: not allow adding handler twicenot allow Change-Id: Ibc42a95295638ccc87aba5eb6999ef73664be7b2 --- client/tdm_client.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/client/tdm_client.c b/client/tdm_client.c index 41a5fe2..468d984 100644 --- a/client/tdm_client.c +++ b/client/tdm_client.c @@ -751,6 +751,13 @@ tdm_client_output_add_change_handler(tdm_client_output *output, private_output = (tdm_private_client_output*)output; private_client = private_output->private_client; + LIST_FOR_EACH_ENTRY(h, &private_output->change_handler_list, link) { + if (h->func == func && h->user_data == user_data) { + TDM_ERR("can't add twice"); + return TDM_ERROR_BAD_REQUEST; + } + } + h = calloc(1, sizeof *h); TDM_RETURN_VAL_IF_FAIL(h != NULL, TDM_ERROR_OUT_OF_MEMORY); -- 2.7.4