ssl/t1_lib.c:3002: error: UNINITIALIZED_VALUE
  The value read from al was never initialized.
Showing all 1 steps of the trace


ssl/t1_lib.c:3002:9: 
3000.       switch (ret) {
3001.       case SSL_TLSEXT_ERR_ALERT_FATAL:
3002. >         ssl3_send_alert(s, SSL3_AL_FATAL, al);
3003.           return -1;
3004.   

int ssl_check_clienthello_tlsext_late(SSL *s)
{
    int ret = SSL_TLSEXT_ERR_OK;
    int al;
    if ((s->tlsext_status_type != -1) && s->ctx && s->ctx->tlsext_status_cb) {
        int r;
        CERT_PKEY *certpkey;
        certpkey = ssl_get_server_send_pkey(s);
        if (certpkey == NULL) {
            s->tlsext_status_expected = 0;
            return 1;
        }
        s->cert->key = certpkey;
        r = s->ctx->tlsext_status_cb(s, s->ctx->tlsext_status_arg);
        switch (r) {
        case SSL_TLSEXT_ERR_NOACK:
            s->tlsext_status_expected = 0;
            break;
        case SSL_TLSEXT_ERR_OK:
            if (s->tlsext_ocsp_resp)
                s->tlsext_status_expected = 1;
            else
                s->tlsext_status_expected = 0;
            break;
        case SSL_TLSEXT_ERR_ALERT_FATAL:
            ret = SSL_TLSEXT_ERR_ALERT_FATAL;
            al = SSL_AD_INTERNAL_ERROR;
            goto err;
        }
    } else
        s->tlsext_status_expected = 0;
 err:
    switch (ret) {
    case SSL_TLSEXT_ERR_ALERT_FATAL:
        ssl3_send_alert(s, SSL3_AL_FATAL, al);
        return -1;
    case SSL_TLSEXT_ERR_ALERT_WARNING:
        ssl3_send_alert(s, SSL3_AL_WARNING, al);
        return 1;
    default:
        return 1;
    }
}
['int ssl_check_clienthello_tlsext_late(SSL *s)\n{\n    int ret = SSL_TLSEXT_ERR_OK;\n    int al;\n    if ((s->tlsext_status_type != -1) && s->ctx && s->ctx->tlsext_status_cb) {\n        int r;\n        CERT_PKEY *certpkey;\n        certpkey = ssl_get_server_send_pkey(s);\n        if (certpkey == NULL) {\n            s->tlsext_status_expected = 0;\n            return 1;\n        }\n        s->cert->key = certpkey;\n        r = s->ctx->tlsext_status_cb(s, s->ctx->tlsext_status_arg);\n        switch (r) {\n        case SSL_TLSEXT_ERR_NOACK:\n            s->tlsext_status_expected = 0;\n            break;\n        case SSL_TLSEXT_ERR_OK:\n            if (s->tlsext_ocsp_resp)\n                s->tlsext_status_expected = 1;\n            else\n                s->tlsext_status_expected = 0;\n            break;\n        case SSL_TLSEXT_ERR_ALERT_FATAL:\n            ret = SSL_TLSEXT_ERR_ALERT_FATAL;\n            al = SSL_AD_INTERNAL_ERROR;\n            goto err;\n        }\n    } else\n        s->tlsext_status_expected = 0;\n err:\n    switch (ret) {\n    case SSL_TLSEXT_ERR_ALERT_FATAL:\n        ssl3_send_alert(s, SSL3_AL_FATAL, al);\n        return -1;\n    case SSL_TLSEXT_ERR_ALERT_WARNING:\n        ssl3_send_alert(s, SSL3_AL_WARNING, al);\n        return 1;\n    default:\n        return 1;\n    }\n}']