]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Wed Sep 10 11:45:25 EDT 2008 Pekka Pessi <first.last@nokia.com>
authorMichael Jerris <mike@jerris.com>
Wed, 10 Sep 2008 16:23:44 +0000 (16:23 +0000)
committerMichael Jerris <mike@jerris.com>
Wed, 10 Sep 2008 16:23:44 +0000 (16:23 +0000)
  * soa_static.c: soa_static_process_reject() backs up only if it has to back up

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

libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c

index 38bb14afdfcfc87d0302130e021f3a16753411fc..570cfc33aad42129acf0af280e7ed69ceaffa9f5 100644 (file)
@@ -1 +1 @@
-Wed Sep 10 12:23:16 EDT 2008
+Wed Sep 10 12:23:38 EDT 2008
index 38ce8b2a1baa34f2b1cf63f5c10f53fbf47c8238..5fd5b60506e5e014dc99581105831d9b7b8bab8a 100644 (file)
@@ -1473,13 +1473,17 @@ static int soa_static_process_reject(soa_session_t *ss,
 {
   struct soa_description d[1];
 
-  *d = *ss->ss_local;
-  *ss->ss_local = *ss->ss_previous;
-  ss->ss_local_user_version = ss->ss_previous_user_version;
-  ss->ss_local_remote_version = ss->ss_previous_remote_version;
-
-  memset(ss->ss_previous, 0, (sizeof *ss->ss_previous));
-  soa_description_free(ss, d);
+  if (ss->ss_previous_user_version) {
+    *d = *ss->ss_local;
+    *ss->ss_local = *ss->ss_previous;
+    ss->ss_local_user_version = ss->ss_previous_user_version;
+    ss->ss_local_remote_version = ss->ss_previous_remote_version;
+
+    memset(ss->ss_previous, 0, (sizeof *ss->ss_previous));
+    soa_description_free(ss, d);
+    ss->ss_previous_user_version = 0;
+    ss->ss_previous_remote_version = 0;
+  }
 
   return soa_base_process_reject(ss, NULL);
 }