diff --git a/nlsr_lsdb.c b/nlsr_lsdb.c
index cd58097..1a06889 100644
--- a/nlsr_lsdb.c
+++ b/nlsr_lsdb.c
@@ -2144,12 +2144,8 @@
 	if ( nlsr->debugging )
 		printf("Adj LSA Data: %s \n",ccn_charbuf_as_string(lsa_data));
 
-	char *data=(char *)calloc(strlen(ccn_charbuf_as_string(lsa_data))+1,sizeof(char));
-	memcpy(data,	ccn_charbuf_as_string(lsa_data),strlen(ccn_charbuf_as_string(lsa_data)));
-	data[strlen(ccn_charbuf_as_string(lsa_data))]='\0';	
+	write_data_to_repo(ccn_charbuf_as_string(lsa_data), repo_content_prefix);
 
-	//write_data_to_repo(ccn_charbuf_as_string(lsa_data), repo_content_prefix);
-	write_data_to_repo(data, repo_content_prefix);
 
 	ccn_charbuf_destroy(&lsa_data);
 }
@@ -2168,13 +2164,9 @@
 	if ( nlsr->debugging )
 		printf("Name LSA Data: %s \n",ccn_charbuf_as_string(lsa_data));	
 
-	char *data=(char *)calloc(strlen(ccn_charbuf_as_string(lsa_data))+1,sizeof(char));
-	memcpy(data,	ccn_charbuf_as_string(lsa_data),strlen(ccn_charbuf_as_string(lsa_data)));
-	data[strlen(ccn_charbuf_as_string(lsa_data))]='\0';	
+	
 
-	write_data_to_repo(data, repo_content_prefix);
-
-	//write_data_to_repo(ccn_charbuf_as_string(lsa_data), repo_content_prefix);
+	write_data_to_repo(ccn_charbuf_as_string(lsa_data), repo_content_prefix);
 
 	ccn_charbuf_destroy(&lsa_data);
 }
@@ -2525,14 +2517,9 @@
 	struct ccn_charbuf *lsa_data=ccn_charbuf_create();
 	get_cor_lsa_data(lsa_data,key);
 
-	char *data=(char *)calloc(strlen(ccn_charbuf_as_string(lsa_data))+1,sizeof(char));
-	memcpy(data,	ccn_charbuf_as_string(lsa_data),strlen(ccn_charbuf_as_string(lsa_data)));
-	data[strlen(ccn_charbuf_as_string(lsa_data))]='\0';
-
-	//if ( nlsr->debugging )
-		//printf("Cor LSA Data: %s \n",ccn_charbuf_as_string(lsa_data));	
 	if ( nlsr->debugging )
-		printf("Cor LSA Data: %s \n",data);
+		printf("Cor LSA Data: %s \n",ccn_charbuf_as_string(lsa_data));	
+
 	char *lst=(char *)malloc(20);
 	memset(lst,0,20);
 	sprintf(lst,"%d",cor_lsa->header->ls_type);
@@ -2543,8 +2530,8 @@
 	if ( nlsr->debugging )
 		printf("Cor LSA Repo Key: %s \n",repo_key);	
 
-	//write_data_to_repo(ccn_charbuf_as_string(lsa_data), repo_key);
-	write_data_to_repo(data, repo_key);
+	write_data_to_repo(ccn_charbuf_as_string(lsa_data), repo_key);
+
 
 	
 		
