From 5bd35c74cbe3aed1dc8010f42c593e3b2f0add99 Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Sat, 2 Aug 2014 14:29:43 +0200 Subject: call: Size function for helpers that return data with non-explicit size Signed-off-by: Paul Kocialkowski --- samsung-ipc/call.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'samsung-ipc') diff --git a/samsung-ipc/call.c b/samsung-ipc/call.c index 37bdc20..b0720ad 100644 --- a/samsung-ipc/call.c +++ b/samsung-ipc/call.c @@ -106,6 +106,19 @@ char *ipc_call_list_entry_number_extract(const struct ipc_call_list_entry *entry return number; } +size_t ipc_call_burst_dtmf_size_setup(const struct ipc_call_burst_dtmf_request_entry *entries, + unsigned char count) +{ + size_t size; + + if (entries == NULL) + return 0; + + size = sizeof(struct ipc_call_burst_dtmf_request_header) + count * sizeof(struct ipc_call_burst_dtmf_request_entry); + + return size; +} + void *ipc_call_burst_dtmf_setup(const struct ipc_call_burst_dtmf_request_entry *entries, unsigned char count) { @@ -116,7 +129,9 @@ void *ipc_call_burst_dtmf_setup(const struct ipc_call_burst_dtmf_request_entry * if (entries == NULL) return NULL; - size = sizeof(struct ipc_call_burst_dtmf_request_header) + count * sizeof(struct ipc_call_burst_dtmf_request_entry); + size = ipc_call_burst_dtmf_size_setup(entries, count); + if (size == 0) + return NULL; data = calloc(1, size); -- cgit v1.1