[bgpd] Fix infinite loop in community_str2com

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.
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