Bläddra i källkod

core: wrapper function to reset avps/xavps from msg environment

- use it to clean after processing received msg

(cherry picked from commit 46ea6b0a6bcf55243a0d11be41f60a2678dbbcfb)
Daniel-Constantin Mierla 8 år sedan
förälder
incheckning
5add6c44cc
2 ändrade filer med 14 tillägg och 9 borttagningar
  1. 13 9
      src/core/receive.c
  2. 1 0
      src/core/receive.h

+ 13 - 9
src/core/receive.c

@@ -360,11 +360,7 @@ end:
 #ifdef STATS
 	skipped = 0;
 #endif
-	/* free possible loaded avps -bogdan */
-	reset_avps();
-#ifdef WITH_XAVP
-	xavp_reset_list();
-#endif
+	ksr_msg_env_reset();
 	LM_DBG("cleaning up\n");
 	free_sip_msg(msg);
 	pkg_free(msg);
@@ -390,13 +386,21 @@ error02:
 	free_sip_msg(msg);
 	pkg_free(msg);
 error00:
-	reset_avps();
-#ifdef WITH_XAVP
-	xavp_reset_list();
-#endif
+	ksr_msg_env_reset();
 	STATS_RX_DROPS;
 	/* reset log prefix */
 	log_prefix_set(NULL);
 	return -1;
 }
 
+/**
+ * clean up msg environment, such as avp and xavp lists
+ */
+void ksr_msg_env_reset(void)
+{
+	reset_avps();
+#ifdef WITH_XAVP
+	xavp_reset_list();
+#endif
+
+}

+ 1 - 0
src/core/receive.h

@@ -33,5 +33,6 @@
 
 int receive_msg(char* buf, unsigned int len, struct receive_info *ri);
 unsigned int inc_msg_no(void);
+void ksr_msg_env_reset(void);
 
 #endif