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
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++;
 	}