diff --git a/core/SipCtrlInterface.cpp b/core/SipCtrlInterface.cpp index 1520273e..1031ae0b 100644 --- a/core/SipCtrlInterface.cpp +++ b/core/SipCtrlInterface.cpp @@ -114,7 +114,7 @@ int SipCtrlInterface::load() } SipCtrlInterface::SipCtrlInterface() - : stopped(false) + : stopped(false), udp_servers(NULL), udp_socket(NULL) { trans_layer::instance()->register_ua(this); } @@ -254,11 +254,13 @@ void SipCtrlInterface::stop() void SipCtrlInterface::cleanup() { DBG("Stopping SIP control interface threads\n"); - - for(int i=0; istop(); - udp_servers[i]->join(); - delete udp_servers[i]; + + if (NULL != udp_servers) { + for(int i=0; istop(); + udp_servers[i]->join(); + delete udp_servers[i]; + } } trans_layer::instance()->register_transport(NULL);