diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog
index 26897f3..2a442f2 100644
--- a/bgpd/ChangeLog
+++ b/bgpd/ChangeLog
@@ -1,3 +1,15 @@
+2006-03-30 Paul Jakma <paul.jakma@sun.com>
+
+	* bgp_community.c: (community_gettoken) Unknown token should
+	  return NULL, to give a strong indication to callers that
+	  the token no longer can be parsed, otherwise callers looping
+	  on this function may have a hard time ending their loop.
+	  (community_str2com) While loop around community_gettoken appears
+	  to have been coded thinking that break statement would break
+	  from the while{}, hence it could never exit for unknown token
+	  case. Fix it to do..while, so it can use the NULL result from
+	  community_gettoken easily.
+
 2006-03-22 Paul Jakma <paul.jakma@sun.com>
 
 	* bgpd.c: (peer_free) release the per-peer workqueue when
diff --git a/bgpd/bgp_community.c b/bgpd/bgp_community.c
index 3033db1..b419a20 100644
--- a/bgpd/bgp_community.c
+++ b/bgpd/bgp_community.c
@@ -520,7 +520,7 @@
 
       /* Unknown string. */
       *token = community_token_unknown;
-      return p;
+      return NULL;
     }
 
   /* Community value. */
@@ -538,7 +538,7 @@
 	      if (separator)
 		{
 		  *token = community_token_unknown;
-		  return p;
+		  return NULL;
 		}
 	      else
 		{
@@ -559,14 +559,14 @@
       if (! digit)
 	{
 	  *token = community_token_unknown;
-	  return p;
+	  return NULL;
 	}
       *val = community_high + community_low;
       *token = community_token_val;
       return p;
     }
   *token = community_token_unknown;
-  return p;
+  return NULL;
 }
 
 /* convert string to community structure */
@@ -578,8 +578,10 @@
   u_int32_t val;
   enum community_token token;
 
-  while ((str = community_gettoken (str, &token, &val))) 
+  do 
     {
+      str = community_gettoken (str, &token, &val);
+      
       switch (token)
 	{
 	case community_token_val:
@@ -596,7 +598,7 @@
 	    community_free (com);
 	  break;
 	}
-    }
+    } while (str);
   
   if (! com)
     return NULL;
