BUG/MINOR: listener: fix off-by-one in state name check

As reported in issue #380, the state check in listener_state_str() is
invalid as it allows state value 9 to report crap. We don't use such
a state value so the issue should never happen unless the memory is
already corrupted, but better clean this now while it's harmless.

This should be backported to all maintained branches.

(cherry picked from commit fec56c6a76463d40be3e15eee297aa8d2b67362a)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit b23644370b9a5ed727e50b01bfa390078c7462c1)
Signed-off-by: Willy Tarreau <w@1wt.eu>
diff --git a/include/proto/listener.h b/include/proto/listener.h
index 24a01b2..1dccb8a 100644
--- a/include/proto/listener.h
+++ b/include/proto/listener.h
@@ -169,7 +169,7 @@
 	};
 	unsigned int st = l->state;
 
-	if (st > sizeof(states) / sizeof(*states))
+	if (st >= sizeof(states) / sizeof(*states))
 		return "INVALID";
 	return states[st];
 }