From 9592c45e347076e0863dbd00fdc6e21bc0b98ec3 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 17 Jan 2012 15:58:48 +0100 Subject: mgcp: Provide documentation for the method, check sscanf return --- openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'openbsc') diff --git a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c index 9ac54dabe..62bf183fa 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c +++ b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c @@ -507,6 +507,9 @@ uint32_t bsc_mgcp_extract_ci(const char *str) return ci; } +/** + * Create a new MGCPCommand based on the input and endpoint from a message + */ static void patch_mgcp(struct msgb *output, const char *op, const char *tok, int endp, int len, int cr) { @@ -516,6 +519,11 @@ static void patch_mgcp(struct msgb *output, const char *op, const char *tok, buf[0] = buf[39] = '\0'; ret = sscanf(tok, "%*s %s", buf); + if (ret != 1) { + LOGP(DMGCP, LOGL_ERROR, + "Failed to find Endpoint in: %s\n", tok); + return; + } slen = sprintf((char *) output->l3h, "%s %s %x@mgw MGCP 1.0%s", op, buf, endp, cr ? "\r\n" : "\n"); -- cgit v1.2.3