+ ERR_put_error(ERR_LIB_SSL, func, reason, file, line);
+ if (s->statem.hand_state != TLS_ST_BEFORE
+ && s->statem.hand_state != TLS_ST_CW_CLNT_HELLO) {
+ /*
+ * We only send an alert if we've got as far as actually sending or
+ * receiving a message.
+ */
+ ssl3_send_alert(s, SSL3_AL_FATAL, al);
+ }