aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@soleta.eu>2014-08-29 08:46:05 +0200
committerPablo Neira Ayuso <pablo@soleta.eu>2014-08-29 08:46:54 +0200
commit3ba3cf85e1f779b3c42547df4f840d3dcbb89267 (patch)
tree490feeeb47ec774c0f768f43812feee324b77270
parent4ef66b1c5fde786c2c4fccf98250856268c250a3 (diff)
osmux: fix unchecked return value in mgcp_parse_osmux_cid()
** CID 1232804: Unchecked return value (CHECKED_RETURN) /src/libmgcp/mgcp_protocol.c: 888 in mgcp_parse_osmux_cid()
-rw-r--r--openbsc/src/libmgcp/mgcp_protocol.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/openbsc/src/libmgcp/mgcp_protocol.c b/openbsc/src/libmgcp/mgcp_protocol.c
index db8354abf..ae275a890 100644
--- a/openbsc/src/libmgcp/mgcp_protocol.c
+++ b/openbsc/src/libmgcp/mgcp_protocol.c
@@ -883,9 +883,11 @@ uint32_t mgcp_rtp_packet_duration(struct mgcp_endpoint *endp,
static int mgcp_parse_osmux_cid(const char *line)
{
- uint32_t osmux_cid;
+ int osmux_cid;
+
+ if (sscanf(line + 2, "Osmux: %u", &osmux_cid) != 1)
+ return -1;
- sscanf(line + 2, "Osmux: %u", &osmux_cid);
if (osmux_cid > OSMUX_CID_MAX) {
LOGP(DMGCP, LOGL_ERROR, "Osmux ID too large: %u > %u\n",
osmux_cid, OSMUX_CID_MAX);