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: https://origsvn.digium.com/svn/asterisk/branches/1.2@8677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2
Russell Bryant 20 years ago
parent ab209c7d92
commit e83bfee678

@ -1590,16 +1590,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

Loading…
Cancel
Save