mncc.c: fix gsm_mncc_rtp size checks
Verify is the parsed data is at least the size of the struct, not exactly the size. Make it accept messages with additional data, like the SDP information the TTCN-3 testsuite is sending since Ic9568c8927507e161aadfad1a4d20aa896d8ae30. This change makes the size checks consistent with the two other size checks in the file: if (rc < sizeof(*rtp)) { if (rc < sizeof(**mncc)) { Related: OS#4282 Change-Id: I522ce7f206932a816a64f03d916799c3215bb8c7changes/12/16312/1
parent
632156a4a8
commit
b544ea396a
|
@ -472,7 +472,7 @@ static void check_setup(struct mncc_connection *conn, const char *buf, int rc)
|
|||
struct call *call;
|
||||
struct mncc_call_leg *leg;
|
||||
|
||||
if (rc != sizeof(*data)) {
|
||||
if (rc < sizeof(*data)) {
|
||||
LOGP(DMNCC, LOGL_ERROR, "gsm_mncc of wrong size %d vs. %zu\n",
|
||||
rc, sizeof(*data));
|
||||
return close_connection(conn);
|
||||
|
@ -548,7 +548,7 @@ static struct mncc_call_leg *find_leg(struct mncc_connection *conn,
|
|||
{
|
||||
struct mncc_call_leg *leg;
|
||||
|
||||
if (rc != sizeof(**mncc)) {
|
||||
if (rc < sizeof(**mncc)) {
|
||||
LOGP(DMNCC, LOGL_ERROR, "gsm_mncc of wrong size %d vs. %zu\n",
|
||||
rc, sizeof(**mncc));
|
||||
close_connection(conn);
|
||||
|
|
Loading…
Reference in New Issue