Module: kamailio Branch: master Commit: d029de6380f8e30e0c82435b820744c21a5fbc78 URL: https://github.com/kamailio/kamailio/commit/d029de6380f8e30e0c82435b820744c21a5fbc78
Author: Daniel-Constantin Mierla <mico...@gmail.com> Committer: Daniel-Constantin Mierla <mico...@gmail.com> Date: 2025-02-14T12:40:57+01:00 tsilo: free duplicated ruri and contact on error cases --- Modified: src/modules/tsilo/tsilo.c --- Diff: https://github.com/kamailio/kamailio/commit/d029de6380f8e30e0c82435b820744c21a5fbc78.diff Patch: https://github.com/kamailio/kamailio/commit/d029de6380f8e30e0c82435b820744c21a5fbc78.patch --- diff --git a/src/modules/tsilo/tsilo.c b/src/modules/tsilo/tsilo.c index 6af49d59dd3..4e3c3501359 100644 --- a/src/modules/tsilo/tsilo.c +++ b/src/modules/tsilo/tsilo.c @@ -642,27 +642,33 @@ static int w_ts_append_by_contact3( if(ts_check_uri(&ruri) < 0) { LM_ERR("failed to parse R-URI.\n"); + pkg_free(ruri.s); return -1; } /* parse Contact header */ if(fixup_get_svalue(_msg, (gparam_t *)_contact, &contact_fixed) != 0) { LM_ERR("failed to convert contact parameter\n"); + pkg_free(ruri.s); return -1; } if(contact_fixed.s == NULL || contact_fixed.len <= 0) { LM_ERR("invalid contact parameter value\n"); + pkg_free(ruri.s); return -1; } if(pkg_str_dup(&contact, &contact_fixed) < 0) { LM_ERR("failed to copy r-uri parameter\n"); + pkg_free(ruri.s); return -1; } if(ts_check_uri(&contact) < 0) { LM_ERR("failed to parse Contact parameter.\n"); + pkg_free(ruri.s); + pkg_free(contact.s); return -1; } @@ -687,16 +693,22 @@ static int ki_ts_append_by_contact_uri( int rc; /* parse R-URI */ - if(ts_check_uri(_ruri) < 0) + if(ts_check_uri(_ruri) < 0) { return -1; - if(pkg_str_dup(&ruri, _ruri) < 0) + } + if(pkg_str_dup(&ruri, _ruri) < 0) { return -1; + } /* parse Contact header */ - if(ts_check_uri(_contact) < 0) + if(ts_check_uri(_contact) < 0) { + pkg_free(ruri.s); return -1; - if(pkg_str_dup(&contact, _contact) < 0) + } + if(pkg_str_dup(&contact, _contact) < 0) { + pkg_free(ruri.s); return -1; + } /* contact must be of syntax: sip:<user>@<host>:<port> with no parameters list */ rc = ts_append(_msg, &ruri, &contact, _table->s); _______________________________________________ Kamailio - Development Mailing List -- sr-dev@lists.kamailio.org To unsubscribe send an email to sr-dev-le...@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender!