diff --git a/cdr/cdr_tds.c b/cdr/cdr_tds.c
index af58b86e610c0bd7df725085ab075c3d8a9f1280..4acd5359e88589c178e0a1d67a2507e7b1fb513e 100644
--- a/cdr/cdr_tds.c
+++ b/cdr/cdr_tds.c
@@ -441,9 +441,11 @@ static int tds_load_module(int reload)
 		return 0;
 
 	var = ast_variable_browse(cfg, "global");
-	if (!var) /* nothing configured */
+	if (!var) /* nothing configured */ {
+		ast_config_destroy(cfg);
 		return 0;
-
+	}
+	
 	ptr = ast_variable_retrieve(cfg, "global", "hostname");
 	if (ptr) {
 		if (hostname)
diff --git a/res/res_jabber.c b/res/res_jabber.c
index 7bd96016c3b497e87979e3e57dbb6c04fb127b40..c4d626ccb51396dc31ee64962d18d1ed5a070ebd 100644
--- a/res/res_jabber.c
+++ b/res/res_jabber.c
@@ -2867,6 +2867,7 @@ static int aji_load_config(int reload)
 		}
 		cat = ast_category_browse(cfg, cat);
 	}
+	ast_config_destroy(cfg); /* or leak memory */
 	return 1;
 }