Index: /trunk/zoo-kernel/service.h
===================================================================
--- /trunk/zoo-kernel/service.h	(revision 59)
+++ /trunk/zoo-kernel/service.h	(revision 60)
@@ -290,4 +290,6 @@
       }
       freeElements(&tmp->next);
+      if(tmp->next!=NULL)
+	free(tmp->next);
     }
   }
@@ -552,7 +554,6 @@
 
   static void addToElements(elements** m,elements* e){
-    elements* _cursor=*m;
     elements* tmp=e;
-    if(_cursor==NULL){
+    if(*m==NULL){
       *m=dupElements(tmp);
     }else{
Index: /trunk/zoo-kernel/service_conf.y
===================================================================
--- /trunk/zoo-kernel/service_conf.y	(revision 59)
+++ /trunk/zoo-kernel/service_conf.y	(revision 60)
@@ -176,5 +176,4 @@
       freeElements(&current_element);
       free(current_element);
-      current_element=NULL;
 #ifdef DEBUG_SERVICE_CONF
       fprintf(stderr,"(DATAINPUTS - 186) ALLOCATE current_element\n");
@@ -505,5 +504,5 @@
   }
   }
-| SPAIR  { curr_key=strdup($1);/*free($1);*/if(debug) fprintf(stderr,"SPAIR FOUND !!\n"); }
+| SPAIR  { curr_key=strdup($1);if(debug) fprintf(stderr,"SPAIR FOUND !!\n"); }
  ;
 
@@ -698,13 +697,6 @@
 #endif
   freeElements(&current_element);
+  free(current_element);
   current_element=NULL;
-#ifdef DEBUG_SERVICE_CONF
-  fprintf(stderr,"(STARTING)FREE my_service\n");
-#endif
-  //freeService(&my_service);
-  //free(my_service);
-#ifdef DEBUG_SERVICE_CONF
-  fprintf(stderr,"(STARTING)FREE my_service done\n");
-#endif
   my_service=NULL;
   scontent=NULL;
@@ -726,5 +718,5 @@
   srin = fopen(file,"r");
   if (srin==NULL){
-    fprintf(stderr,"error : le fichier specifie n'existe pas ou n'est pas accessible en lecture\n") ;
+    fprintf(stderr,"error : file not found\n") ;
     return -1;
   }
Index: /trunk/zoo-kernel/zoo_service_loader.c
===================================================================
--- /trunk/zoo-kernel/zoo_service_loader.c	(revision 59)
+++ /trunk/zoo-kernel/zoo_service_loader.c	(revision 60)
@@ -424,4 +424,7 @@
     freeMaps(&m);
     free(m);
+    freeMap(&request_inputs);
+    free(request_inputs);
+    free(REQUEST);
     return 1;
   }
