Revision
15427
Author
mikej
Date
2009-11-11 09:11:55 -0600 (Wed, 11 Nov 2009)

Log Message

avoiding initial segfault (MODENDP-265)

Modified Paths

Diff

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (15426 => 15427)


--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c	2009-11-11 05:33:59 UTC (rev 15426)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c	2009-11-11 15:11:55 UTC (rev 15427)
@@ -1170,16 +1170,15 @@
 			const char *var;
 			const char *presence_data = switch_channel_get_variable(channel, "presence_data");
 			const char *presence_id = switch_channel_get_variable(channel, "presence_id");
-			char *sql;
 			
 			if (presence_id || presence_data) {
-				sql = switch_mprintf("update sip_dialogs set presence_id='%q',presence_data='%q' "
+				char *sql = switch_mprintf("update sip_dialogs set presence_id='%q',presence_data='%q' "
 									 "where uuid='%s';\n", switch_str_nil(presence_id), switch_str_nil(presence_data), 
 									 switch_core_session_get_uuid(session));
+				switch_assert(sql);
+				sofia_glue_execute_sql(tech_pvt->profile, &sql, SWITCH_TRUE);
 			}
 
-			switch_assert(sql);
-			sofia_glue_execute_sql(tech_pvt->profile, &sql, SWITCH_TRUE);
 
 
 			if ((var = switch_channel_get_variable(channel, SOFIA_SECURE_MEDIA_VARIABLE)) && switch_true(var)) {