]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Wed Apr 23 14:30:07 EDT 2008 first.last@nokia.com
authorMichael Jerris <mike@jerris.com>
Wed, 23 Apr 2008 18:38:25 +0000 (18:38 +0000)
committerMichael Jerris <mike@jerris.com>
Wed, 23 Apr 2008 18:38:25 +0000 (18:38 +0000)
  * nua_notifier.c: fixed crash with event fetch

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8182 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c

index deafc7cad32865718f41ad0fed3015e88d09d176..925fba06078886e4fed613d597995c095a2f7a01 100644 (file)
@@ -1 +1 @@
-Wed Apr 23 14:36:09 EDT 2008
+Wed Apr 23 14:38:18 EDT 2008
index a2b7a405cb1519706f73d7f9c0ce35bf271c2c69..194ebf4a3c7f39fff94a014f4660dc02f20a1b7d 100644 (file)
@@ -340,7 +340,8 @@ int nua_subscribe_server_report(nua_server_request_t *sr, tagi_t const *tags)
 {
   nua_handle_t *nh = sr->sr_owner;
   nua_dialog_state_t *ds = nh->nh_ds;
-  struct notifier_usage *nu = nua_dialog_usage_private(sr->sr_usage);
+  nua_dialog_usage_t *du = sr->sr_usage;
+  struct notifier_usage *nu = nua_dialog_usage_private(du);
   enum nua_substate substate = nua_substate_terminated;
   int notify = 0;
   int retval;
@@ -365,16 +366,18 @@ int nua_subscribe_server_report(nua_server_request_t *sr, tagi_t const *tags)
     else 
 #endif
       notify = 1;
+
+    notify = notify && du->du_cr != NULL;
   }
 
   retval = nua_base_server_treport(sr, NUTAG_SUBSTATE(substate), TAG_END());
 
-  if (retval >= 2 || nu == NULL)
+  if (retval >= 2 || du == NULL)
     return retval;
   
   if (notify) {
     /* Send NOTIFY (and terminate subscription, when needed) */
-    nua_dialog_usage_refresh(nh, ds, sr->sr_usage, sip_now());
+    nua_dialog_usage_refresh(nh, ds, du, sip_now());
   }
   
   return retval;