Module: kamailio Branch: master Commit: 0bbcbe8328d558a9bf3cb151ab53be93b09c2669 URL: https://github.com/kamailio/kamailio/commit/0bbcbe8328d558a9bf3cb151ab53be93b09c2669
Author: Daniel-Constantin Mierla <[email protected]> Committer: Daniel-Constantin Mierla <[email protected]> Date: 2014-12-22T21:40:52+01:00 nat_traversal: use local variable for port and proto on keepalive resolve - safe execution for those resolving functions expecting PROTO_NONE - reported by Jason Penton, FS#491 --- Modified: modules/nat_traversal/nat_traversal.c --- Diff: https://github.com/kamailio/kamailio/commit/0bbcbe8328d558a9bf3cb151ab53be93b09c2669.diff Patch: https://github.com/kamailio/kamailio/commit/0bbcbe8328d558a9bf3cb151ab53be93b09c2669.patch --- diff --git a/modules/nat_traversal/nat_traversal.c b/modules/nat_traversal/nat_traversal.c index 2f0ffbe..87aaf50 100644 --- a/modules/nat_traversal/nat_traversal.c +++ b/modules/nat_traversal/nat_traversal.c @@ -1510,6 +1510,8 @@ send_keepalive(NAT_Contact *contact) struct dest_info dst; int nat_port, len; str nat_ip; + unsigned short lport; + char lproto; if (keepalive_params.from == NULL) { if (contact->socket != last_socket) { @@ -1554,7 +1556,9 @@ send_keepalive(NAT_Contact *contact) ptr = strchr(nat_ip.s, ':'); nat_ip.len = ptr - nat_ip.s; nat_port = strtol(ptr+1, NULL, 10); - hostent = sip_resolvehost(&nat_ip, NULL, NULL); + lport = 0; + lproto = PROTO_NONE; + hostent = sip_resolvehost(&nat_ip, &lport, &lproto); hostent2su(&dst.to, hostent, 0, nat_port); dst.proto=PROTO_UDP; dst.send_sock=contact->socket; _______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
