Index: trunk/zoo-project/zoo-kernel/main_conf_read.y
===================================================================
--- trunk/zoo-project/zoo-kernel/main_conf_read.y	(revision 384)
+++ trunk/zoo-project/zoo-kernel/main_conf_read.y	(revision 385)
@@ -314,5 +314,4 @@
   crin = fopen(file,"r");
   if (crin==NULL){
-    printf("error : le fichier specifie n'existe pas ou n'est pas accessible en lecture\n") ;
     return 2 ;
   }
Index: trunk/zoo-project/zoo-kernel/service_internal.c
===================================================================
--- trunk/zoo-project/zoo-kernel/service_internal.c	(revision 384)
+++ trunk/zoo-project/zoo-kernel/service_internal.c	(revision 385)
@@ -1746,6 +1746,7 @@
       printf("Content-Type: text/xml; charset=%s\r\nStatus: 200 OK\r\n\r\n",encoding);
     }
-  }else
+  }else{
     printf("Content-Type: text/xml; charset=%s\r\nStatus: 200 OK\r\n\r\n",encoding);
+  }
   n=createExceptionReportNode(m,s,1);
   xmlDocSetRootElement(doc, n);
@@ -2016,7 +2017,7 @@
 	printf("%s",mime);
 	if(rs!=NULL)
-	  fwrite(toto->value,atoi(rs->value),1,stdout);
+	  fwrite(toto->value,1,atoi(rs->value),stdout);
 	else
-	  fwrite(toto->value,strlen(toto->value),1,stdout);
+	  fwrite(toto->value,1,strlen(toto->value),stdout);
 #ifdef DEBUG
 	dumpMap(toto);
Index: trunk/zoo-project/zoo-kernel/zoo_service_loader.c
===================================================================
--- trunk/zoo-project/zoo-kernel/zoo_service_loader.c	(revision 384)
+++ trunk/zoo-project/zoo-kernel/zoo_service_loader.c	(revision 385)
@@ -561,5 +561,9 @@
   char conf_file[10240];
   snprintf(conf_file,10240,"%s/%s/main.cfg",ntmp,r_inputs->value);
-  conf_read(conf_file,m);
+  if(conf_read(conf_file,m)==2){
+    errorException(NULL, _("Unable to load the main.cfg file."),"InternalError");
+    free(m);
+    return 1;
+  }
 #ifdef DEBUG
   fprintf(stderr, "***** BEGIN MAPS\n"); 
@@ -635,5 +639,4 @@
     freeMap(&request_inputs);
     free(request_inputs);
-    free(REQUEST);
     return 1;
   }
@@ -838,8 +841,4 @@
       free(SERVICE_URL);
       fflush(stdout);
-#ifndef LINUX_FREE_ISSUE
-      if(s1)
-	free(s1);
-#endif
       return 0;
     }
@@ -851,4 +850,9 @@
 #endif	
 	closedir(dirp);
+	freeMaps(&m);
+	free(m);
+	free(REQUEST);
+	free(SERVICE_URL);
+	fflush(stdout);
 	return 0;
       }
