From 3e5df8047799366be11b0c6380854f7df5361d0b Mon Sep 17 00:00:00 2001
From: Christian Richter <christian.richter@beronet.com>
Date: Sun, 22 Oct 2006 21:57:11 +0000
Subject: [PATCH] Merged revisions 45916 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r45916 | crichter | 2006-10-22 23:44:46 +0200 (Sun, 22 Oct 2006) | 9 lines

Merged revisions 45808 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r45808 | crichter | 2006-10-21 14:35:13 +0200 (Sat, 21 Oct 2006) | 1 line

fixed issue, that if chan_misdn is loaded and couldn't be initialized it would cause a segfault after 'reload'. Reported by Drew/Matt thx.
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_misdn.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index e840855598..030388e008 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -78,6 +78,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
 char global_tracefile[BUFFERSIZE+1];
 
+static int g_config_initialized=0;
 
 struct misdn_jb{
 	int size;
@@ -955,6 +956,11 @@ static char *misdn_get_ch_state(struct chan_list *p)
 static void reload_config(void)
 {
 	int i, cfg_debug;
+
+	if (!g_config_initialized) {
+		ast_log(LOG_WARNING, "chan_misdn is not initialized properly, still reloading ?\n");
+		return ;
+	}
 	
 	free_robin_list();
 	misdn_cfg_reload();
@@ -4536,7 +4542,6 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
  *******************************************/
 
 
-static int g_config_initialized=0;
 
 static int unload_module(void)
 {
-- 
GitLab