diff --git a/nlsr.c b/nlsr.c
index 20c7d45..1d16b4c 100644
--- a/nlsr.c
+++ b/nlsr.c
@@ -193,17 +193,22 @@
 	{
 		struct name_prefix *nbr_name=(struct name_prefix *)malloc(sizeof(struct name_prefix ));
 		get_host_name_from_command_string(nbr_name,nbr->name,0);
-		printf("Hostname of neighbor: %s ",nbr_name->name);
+		if ( nlsr->debugging)
+			printf("Hostname of neighbor: %s ",nbr_name->name);
 		get_ip_from_hostname_02(nbr_name->name,ip_addr);
-		printf("IP Address: %s \n",ip_addr);
+		if ( nlsr->debugging)
+			printf("IP Address: %s \n",ip_addr);
 		free(nbr_name->name);
 		free(nbr_name);
 	}
 	else
 	{
 		memcpy(ip_addr,nbr_ip_addr,strlen(nbr_ip_addr));
-		printf("Name of neighbor: %s ",nbr->name);
-		printf("IP Address: %s \n",ip_addr);
+		if (nlsr->debugging)
+		{
+			printf("Name of neighbor: %s ",nbr->name);
+			printf("IP Address: %s \n",ip_addr);
+		}
 	}
 	add_nbr_to_adl(nbr,0,ip_addr);
 	
diff --git a/nlsr_adl.c b/nlsr_adl.c
index 042466a..6e96d7b 100644
--- a/nlsr_adl.c
+++ b/nlsr_adl.c
@@ -58,8 +58,8 @@
 		nbr->metric=LINK_METRIC;
 		nbr->is_lsdb_send_interest_scheduled=0;
 		
-		nbr->ip_address=(char *)malloc(13);
-		memset(nbr->ip_address,0,13);
+		nbr->ip_address=(char *)malloc(strlen(ip)+1);
+		memset(nbr->ip_address,0,strlen(ip)+1);
 		memcpy(nbr->ip_address,ip,strlen(ip));
 
 		char *time_stamp=(char *)malloc(20);
diff --git a/nlsr_sync.c b/nlsr_sync.c
index 7b228c5..2804ee8 100644
--- a/nlsr_sync.c
+++ b/nlsr_sync.c
@@ -82,14 +82,22 @@
  	struct ccn_indexbuf cid={0};
 
     	struct ccn_indexbuf *components=&cid;
-    	ccn_name_split (name, components);
+    	res=ccn_name_split (name, components);
+	if ( res < 0 )
+		return 0;
     	//ccn_name_chop(name,components,-3);
 	//process_content_from_sync(name,components);
 
 	struct ccn_charbuf *content_name = ccn_charbuf_create();
 	ccn_name_init(content_name);
+	if (components->n < 2)
+		return 0;
 	res = ccn_name_append_components(content_name, name->buf, components->buf[0], components->buf[components->n - 1]);
 
+	if ( res < 0)
+		return 0;
+
+
 	// debugging purpose
 	struct ccn_charbuf *temp=ccn_charbuf_create();
 	ccn_uri_append(temp, content_name->buf, content_name->length, 0);
@@ -100,6 +108,9 @@
 	struct ccn_indexbuf cid1={0};
     	struct ccn_indexbuf *components1=&cid1;
     	res=ccn_name_split (content_name, components1);
+	if ( res < 0)
+		return 0;		
+
 	if ( nlsr->debugging )
 		{
 			printf("Number of components in name = %d \n",res);
