Don't infinite loop on garbage server input.

else block got lost in a rewrite of this code.

Change-Id: I51f1655474ec8bbd4eccb4297124e8584329444e
Reviewed-on: https://boringssl-review.googlesource.com/2560
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/ssl/s23_srvr.c b/ssl/s23_srvr.c
index 65ce6e1..70e6961 100644
--- a/ssl/s23_srvr.c
+++ b/ssl/s23_srvr.c
@@ -381,6 +381,11 @@
 		/* Ready to switch versions. */
 		s->state = SSL23_ST_SR_SWITCH_VERSION;
 		}
+	else
+		{
+		OPENSSL_PUT_ERROR(SSL, ssl23_get_client_hello, SSL_R_UNKNOWN_PROTOCOL);
+		goto err;
+		}
 
 	return 1;
 err:
diff --git a/ssl/test/runner/runner.go b/ssl/test/runner/runner.go
index 5fed62b..5605966 100644
--- a/ssl/test/runner/runner.go
+++ b/ssl/test/runner/runner.go
@@ -515,6 +515,13 @@
 		expectedError: ":HTTPS_PROXY_REQUEST:",
 	},
 	{
+		testType:      serverTest,
+		name:          "Garbage",
+		sendPrefix:    "blah",
+		shouldFail:    true,
+		expectedError: ":UNKNOWN_PROTOCOL:",
+	},
+	{
 		name: "SkipCipherVersionCheck",
 		config: Config{
 			CipherSuites: []uint16{TLS_RSA_WITH_AES_128_GCM_SHA256},