diff --git a/nlsr.c b/nlsr.c
index dce1e8e..1b344ff 100644
--- a/nlsr.c
+++ b/nlsr.c
@@ -478,8 +478,8 @@
 		printf(" Wrong Command Format ( logdir /path/to/logdir/ )\n");
 		return;
 	}
-	if ( nlsr->logDir)
-		free(nlsr->logDir);
+	//if ( nlsr->logDir)
+		//free(nlsr->logDir);
 	nlsr->logDir=(char *)calloc(strlen(dir)+1,sizeof(char));
 	memcpy(nlsr->logDir,dir,strlen(dir)+1);
 }
diff --git a/nlsr_adl.c b/nlsr_adl.c
index 2babc55..f93eba7 100644
--- a/nlsr_adl.c
+++ b/nlsr_adl.c
@@ -688,9 +688,10 @@
         	exit(1);
     	}	
 
-	struct ccn_indexbuf cid={0};
+	//struct ccn_indexbuf cid={0};
 
-    	struct ccn_indexbuf *components=&cid;
+    	//struct ccn_indexbuf *components=&cid;
+	struct ccn_indexbuf *components=ccn_indexbuf_create();
     	ccn_name_split (name, components);
 
 	for(i=components->n-2;i> (0+offset);i--)
@@ -721,6 +722,7 @@
 	// 01/31/2013
 	free(neighbor);
 	ccn_charbuf_destroy(&name);
+	ccn_indexbuf_destroy(&components);
 }
 
 
diff --git a/nlsr_lsdb.c b/nlsr_lsdb.c
index 4617096..8e4fe16 100644
--- a/nlsr_lsdb.c
+++ b/nlsr_lsdb.c
@@ -903,8 +903,8 @@
 
 				new_adj_lsa->no_link=adj_lsa->no_link;
 		
-				if(new_adj_lsa->body )
-					free(new_adj_lsa->body);
+				//if(new_adj_lsa->body )
+					//free(new_adj_lsa->body);
 				new_adj_lsa->body=(char *)calloc(strlen(adj_lsa->body)+1,sizeof(char));
 				//memset(new_adj_lsa->body,0,strlen(adj_lsa->body)+1);
 				memcpy(new_adj_lsa->body,adj_lsa->body,strlen(adj_lsa->body)+1);
diff --git a/nlsr_route.c b/nlsr_route.c
index 2a25747..e84b0a7 100644
--- a/nlsr_route.c
+++ b/nlsr_route.c
@@ -50,9 +50,9 @@
 		print_routing_table();
 		print_npt();		
 
-		struct hashtb_param param_me = {0};
-		nlsr->map = hashtb_create(sizeof(struct map_entry), &param_me);
-		nlsr->rev_map = hashtb_create(sizeof(struct map_entry), &param_me);
+		//struct hashtb_param param_me = {0};
+		nlsr->map = hashtb_create(sizeof(struct map_entry), NULL);
+		nlsr->rev_map = hashtb_create(sizeof(struct map_entry), NULL);
 		make_map();
 		assign_mapping_number();		
 		print_map();
diff --git a/nlsr_sync.c b/nlsr_sync.c
index 199b1df..f2d390b 100644
--- a/nlsr_sync.c
+++ b/nlsr_sync.c
@@ -124,8 +124,9 @@
 	int lsa_position=0;
 	//int len=0;
 
-	struct ccn_indexbuf cid={0};
-	struct ccn_indexbuf *components=&cid;
+	//struct ccn_indexbuf cid={0};
+	//struct ccn_indexbuf *components=&cid;
+	struct ccn_indexbuf *components=ccn_indexbuf_create();
 	struct ccn_charbuf *name=ccn_charbuf_create();
 	ccn_name_from_uri(name,nlsr->slice_prefix);
 	ccn_name_split (name, components);
@@ -147,6 +148,7 @@
 
 	ccn_charbuf_destroy(&temp1);
 	ccn_charbuf_destroy(&temp);
+	ccn_indexbuf_destroy(&components);
 
 	if ( nlsr->debugging )
 		printf("Name Part: %s \n",name_part->name);
