Module: kamailio Branch: master Commit: 34743f40056e230e6c6d1ae6bf72e369b6f6890f URL: https://github.com/kamailio/kamailio/commit/34743f40056e230e6c6d1ae6bf72e369...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2025-02-14T12:40:57+01:00
sdpops: check the limit for computed rtcp port
---
Modified: src/modules/sdpops/sdpops_mod.c
---
Diff: https://github.com/kamailio/kamailio/commit/34743f40056e230e6c6d1ae6bf72e369... Patch: https://github.com/kamailio/kamailio/commit/34743f40056e230e6c6d1ae6bf72e369...
---
diff --git a/src/modules/sdpops/sdpops_mod.c b/src/modules/sdpops/sdpops_mod.c index 164b97f1ba3..7631779c70f 100644 --- a/src/modules/sdpops/sdpops_mod.c +++ b/src/modules/sdpops/sdpops_mod.c @@ -25,6 +25,7 @@ #include <string.h> #include <stdlib.h> #include <stdio.h> +#include <limits.h>
#include "../../core/sr_module.h" #include "../../core/dprint.h" @@ -2212,7 +2213,10 @@ static int pv_get_sdp(sip_msg_t *msg, pv_param_t *param, pv_value_t *res) } if(sdp->sessions->streams->port.s != NULL && sdp->sessions->streams->port.len > 0) { - str2int(&sdp->sessions->streams->port, &uport); + if(str2int(&sdp->sessions->streams->port, &uport) < 0 + || uport >= USHRT_MAX) { + return pv_get_null(msg, param, res); + } uport++; s.s = int2strbuf(uport, uport_buf, INT2STR_MAX_LEN, &s.len); return pv_get_strval(msg, param, res, &s);