laforge has submitted this change. (
https://gerrit.osmocom.org/c/osmo-mgw/+/33527 )
Change subject: mgcp_client: check rc of map_str_to_codec
......................................................................
mgcp_client: check rc of map_str_to_codec
Abort with error log when map_str_to_codec is -1, instead of writing it
as unsigned integer into ptmap[i].codec.
Related: OS#6074
Change-Id: I08b91c849d810fe3cdb72c0f6f2a558b7377deab
---
M src/libosmo-mgcp-client/mgcp_client.c
1 file changed, 21 insertions(+), 3 deletions(-)
Approvals:
laforge: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/src/libosmo-mgcp-client/mgcp_client.c
b/src/libosmo-mgcp-client/mgcp_client.c
index d901c4d..75c7b14 100644
--- a/src/libosmo-mgcp-client/mgcp_client.c
+++ b/src/libosmo-mgcp-client/mgcp_client.c
@@ -371,7 +371,7 @@
{
unsigned int pt;
char codec_resp[64];
- enum mgcp_codecs codec;
+ int rc;
#define A_PTIME "a=ptime:"
#define A_RTPMAP "a=rtpmap:"
@@ -392,9 +392,14 @@
LOGP(DLMGCP, LOGL_ERROR, "No more space in ptmap array (len=%u)\n",
r->ptmap_len);
return -ENOSPC;
}
- codec = map_str_to_codec(codec_resp);
+ rc = map_str_to_codec(codec_resp);
+ if (rc < 0) {
+ LOGP(DLMGCP, LOGL_ERROR,
+ "Failed to parse SDP parameter, can't parse codec in rtpmap: %s\n",
osmo_quote_str(line, -1));
+ return -EINVAL;
+ }
r->ptmap[r->ptmap_len].pt = pt;
- r->ptmap[r->ptmap_len].codec = codec;
+ r->ptmap[r->ptmap_len].codec = rc;
r->ptmap_len++;
}
--
To view, visit
https://gerrit.osmocom.org/c/osmo-mgw/+/33527
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I08b91c849d810fe3cdb72c0f6f2a558b7377deab
Gerrit-Change-Number: 33527
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged