Index: trunk/zoo-kernel/service.h
===================================================================
--- trunk/zoo-kernel/service.h	(revision 55)
+++ trunk/zoo-kernel/service.h	(revision 56)
@@ -133,5 +133,5 @@
     map* tmp=m;
     while(tmp!=NULL){
-      if(strncasecmp(tmp->name,key,strlen(key))==0)
+      if(strlen(tmp->name)==strlen(key) && strncasecmp(tmp->name,key,strlen(key))==0)
 	return true;
       tmp=tmp->next;
@@ -146,5 +146,5 @@
     maps* tmp=m;
     while(tmp!=NULL){
-      if(strncasecmp(tmp->name,key,strlen(key))==0){
+      if(strlen(tmp->name)==strlen(key) && strncasecmp(tmp->name,key,strlen(key))==0){
 	return tmp;
       }
@@ -157,5 +157,5 @@
     map* tmp=m;
     while(tmp!=NULL){
-      if(strncasecmp(tmp->name,key,strlen(key))==0){
+      if(strlen(tmp->name)==strlen(key) && strncasecmp(tmp->name,key,strlen(key))==0){
 	return tmp;
       }
@@ -239,5 +239,5 @@
     elements* tmp=e;
     while(tmp!=NULL){
-      if(strncasecmp(key,tmp->name,strlen(key))==0)
+      if(strlen(tmp->name)==strlen(key) && strncasecmp(key,tmp->name,strlen(key))==0)
 	return true;
       tmp=tmp->next;
@@ -249,5 +249,5 @@
     elements* tmp=m;
     while(tmp!=NULL){
-      if(strncasecmp(tmp->name,key,strlen(tmp->name))==0)
+      if(strlen(tmp->name)==strlen(key) && strncasecmp(tmp->name,key,strlen(tmp->name))==0)
 	return tmp;
       tmp=tmp->next;
