From 4bbb855c9d79d7f2d40486bae2cee37048ab98f3 Mon Sep 17 00:00:00 2001 From: russell Date: Wed, 25 Jan 2006 19:16:14 +0000 Subject: [PATCH] Merged revisions 8677 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r8677 | russell | 2006-01-25 14:14:43 -0500 (Wed, 25 Jan 2006) | 3 lines don't call ast_update_realtime with uninitialized variables if we get a registration with an expirey of 0 seconds (issue #6173) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8678 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_sip.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 0d5c4df8d..845769dfe 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -1596,16 +1596,15 @@ static void realtime_update_peer(const char *peername, struct sockaddr_in *sin, { char port[10]; char ipaddr[20]; - char regseconds[20] = "0"; + char regseconds[20]; + time_t nowtime; + + time(&nowtime); + nowtime += expirey; + snprintf(regseconds, sizeof(regseconds), "%d", (int)nowtime); /* Expiration time */ + ast_inet_ntoa(ipaddr, sizeof(ipaddr), sin->sin_addr); + snprintf(port, sizeof(port), "%d", ntohs(sin->sin_port)); - if (expirey) { /* Registration */ - time_t nowtime; - time(&nowtime); - nowtime += expirey; - snprintf(regseconds, sizeof(regseconds), "%d", (int)nowtime); /* Expiration time */ - ast_inet_ntoa(ipaddr, sizeof(ipaddr), sin->sin_addr); - snprintf(port, sizeof(port), "%d", ntohs(sin->sin_port)); - } if (fullcontact) ast_update_realtime("sippeers", "name", peername, "ipaddr", ipaddr, "port", port, "regseconds", regseconds, "username", username, "fullcontact", fullcontact, NULL); else