ssl/statem/statem_srvr.c:2175: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `constant_time_is_zero_8`.
Showing all 8 steps of the trace


ssl/statem/statem_srvr.c:2127:23: Call
2125.           }
2126.   
2127.           rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                              ^
2128.           if (rsa_decrypt == NULL) {
2129.               al = SSL_AD_INTERNAL_ERROR;

crypto/mem.c:76:16: Unknown value from: non-const function
  74.   
  75.       if (malloc_impl != NULL && malloc_impl != CRYPTO_malloc)
  76.           return malloc_impl(num, file, line);
                       ^
  77.   
  78.       if (num <= 0)

ssl/statem/statem_srvr.c:2175:30: Call
2173.                          constant_time_eq_int_8(rsa_decrypt[1], 2);
2174.           for (j = 2; j < padding_len - 1; j++) {
2175.               decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]);
                                     ^
2176.           }
2177.           decrypt_good &= constant_time_is_zero_8(rsa_decrypt[padding_len - 1]);

include/internal/constant_time_locl.h:134:1: Parameter `a`
  132.   }
  133.   
  134. > static ossl_inline unsigned char constant_time_is_zero_8(unsigned int a)
  135.   {
  136.       return (unsigned char)(constant_time_is_zero(a));

include/internal/constant_time_locl.h:136:28: Call
  134.   static ossl_inline unsigned char constant_time_is_zero_8(unsigned int a)
  135.   {
  136.       return (unsigned char)(constant_time_is_zero(a));
                                    ^
  137.   }
  138.   

include/internal/constant_time_locl.h:129:1: <LHS trace>
127.   }
128.   
129. > static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
130.   {
131.       return constant_time_msb(~a & (a - 1));

include/internal/constant_time_locl.h:129:1: Parameter `a`
    127.   }
    128.   
    129. > static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
    130.   {
    131.       return constant_time_msb(~a & (a - 1));

include/internal/constant_time_locl.h:131:12: Binary operation: ([0, +oo] - 1):unsigned32 by call to `constant_time_is_zero_8` 
    129.   static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
    130.   {
    131.       return constant_time_msb(~a & (a - 1));
                      ^
    132.   }
    133.   

static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
{
    return constant_time_msb(~a & (a - 1));
}
['MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)\n{\n    int al;\n    unsigned long alg_k;\n#ifndef OPENSSL_NO_RSA\n    RSA *rsa = NULL;\n#endif\n#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH)\n    EVP_PKEY *ckey = NULL;\n#endif\n    PACKET enc_premaster;\n    unsigned char *rsa_decrypt = NULL;\n    alg_k = s->s3->tmp.new_cipher->algorithm_mkey;\n#ifndef OPENSSL_NO_PSK\n    if (alg_k & SSL_PSK) {\n        unsigned char psk[PSK_MAX_PSK_LEN];\n        size_t psklen;\n        PACKET psk_identity;\n        if (!PACKET_get_length_prefixed_2(pkt, &psk_identity)) {\n            al = SSL_AD_DECODE_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, SSL_R_LENGTH_MISMATCH);\n            goto f_err;\n        }\n        if (PACKET_remaining(&psk_identity) > PSK_MAX_IDENTITY_LEN) {\n            al = SSL_AD_DECODE_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   SSL_R_DATA_LENGTH_TOO_LONG);\n            goto f_err;\n        }\n        if (s->psk_server_callback == NULL) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   SSL_R_PSK_NO_SERVER_CB);\n            goto f_err;\n        }\n        if (!PACKET_strndup(&psk_identity, &s->session->psk_identity)) {\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);\n            al = SSL_AD_INTERNAL_ERROR;\n            goto f_err;\n        }\n        psklen = s->psk_server_callback(s, s->session->psk_identity,\n                                         psk, sizeof(psk));\n        if (psklen > PSK_MAX_PSK_LEN) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);\n            goto f_err;\n        } else if (psklen == 0) {\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   SSL_R_PSK_IDENTITY_NOT_FOUND);\n            al = SSL_AD_UNKNOWN_PSK_IDENTITY;\n            goto f_err;\n        }\n        OPENSSL_free(s->s3->tmp.psk);\n        s->s3->tmp.psk = OPENSSL_memdup(psk, psklen);\n        OPENSSL_cleanse(psk, psklen);\n        if (s->s3->tmp.psk == NULL) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_MALLOC_FAILURE);\n            goto f_err;\n        }\n        s->s3->tmp.psklen = psklen;\n    }\n    if (alg_k & SSL_kPSK) {\n        if (PACKET_remaining(pkt) != 0) {\n            al = SSL_AD_HANDSHAKE_FAILURE;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, SSL_R_LENGTH_MISMATCH);\n            goto f_err;\n        }\n        if (!ssl_generate_master_secret(s, NULL, 0, 0)) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);\n            goto f_err;\n        }\n    } else\n#endif\n#ifndef OPENSSL_NO_RSA\n    if (alg_k & (SSL_kRSA | SSL_kRSAPSK)) {\n        unsigned char rand_premaster_secret[SSL_MAX_MASTER_KEY_LENGTH];\n        int decrypt_len;\n        unsigned char decrypt_good, version_good;\n        size_t j, padding_len;\n        rsa = EVP_PKEY_get0_RSA(s->cert->pkeys[SSL_PKEY_RSA_ENC].privatekey);\n        if (rsa == NULL) {\n            al = SSL_AD_HANDSHAKE_FAILURE;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   SSL_R_MISSING_RSA_CERTIFICATE);\n            goto f_err;\n        }\n        if (s->version == SSL3_VERSION || s->version == DTLS1_BAD_VER) {\n            enc_premaster = *pkt;\n        } else {\n            if (!PACKET_get_length_prefixed_2(pkt, &enc_premaster)\n                || PACKET_remaining(pkt) != 0) {\n                al = SSL_AD_DECODE_ERROR;\n                SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                       SSL_R_LENGTH_MISMATCH);\n                goto f_err;\n            }\n        }\n        if (RSA_size(rsa) < SSL_MAX_MASTER_KEY_LENGTH) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   RSA_R_KEY_SIZE_TOO_SMALL);\n            goto f_err;\n        }\n        rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));\n        if (rsa_decrypt == NULL) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_MALLOC_FAILURE);\n            goto f_err;\n        }\n        if (RAND_bytes(rand_premaster_secret,\n                       sizeof(rand_premaster_secret)) <= 0) {\n            goto err;\n        }\n        decrypt_len = RSA_private_decrypt(PACKET_remaining(&enc_premaster),\n                                          PACKET_data(&enc_premaster),\n                                          rsa_decrypt, rsa, RSA_NO_PADDING);\n        if (decrypt_len < 0) {\n            goto err;\n        }\n        if (decrypt_len < 11 + SSL_MAX_MASTER_KEY_LENGTH) {\n            al = SSL_AD_DECRYPT_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, SSL_R_DECRYPTION_FAILED);\n            goto f_err;\n        }\n        padding_len = decrypt_len - SSL_MAX_MASTER_KEY_LENGTH;\n        decrypt_good = constant_time_eq_int_8(rsa_decrypt[0], 0) &\n                       constant_time_eq_int_8(rsa_decrypt[1], 2);\n        for (j = 2; j < padding_len - 1; j++) {\n            decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]);\n        }\n        decrypt_good &= constant_time_is_zero_8(rsa_decrypt[padding_len - 1]);\n        version_good =\n            constant_time_eq_8(rsa_decrypt[padding_len],\n                               (unsigned)(s->client_version >> 8));\n        version_good &=\n            constant_time_eq_8(rsa_decrypt[padding_len + 1],\n                               (unsigned)(s->client_version & 0xff));\n        if (s->options & SSL_OP_TLS_ROLLBACK_BUG) {\n            unsigned char workaround_good;\n            workaround_good = constant_time_eq_8(rsa_decrypt[padding_len],\n                                                 (unsigned)(s->version >> 8));\n            workaround_good &=\n                constant_time_eq_8(rsa_decrypt[padding_len + 1],\n                                   (unsigned)(s->version & 0xff));\n            version_good |= workaround_good;\n        }\n        decrypt_good &= version_good;\n        for (j = 0; j < sizeof(rand_premaster_secret); j++) {\n            rsa_decrypt[padding_len + j] =\n                constant_time_select_8(decrypt_good,\n                                       rsa_decrypt[padding_len + j],\n                                       rand_premaster_secret[j]);\n        }\n        if (!ssl_generate_master_secret(s, rsa_decrypt + padding_len,\n                                        sizeof(rand_premaster_secret), 0)) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);\n            goto f_err;\n        }\n        OPENSSL_free(rsa_decrypt);\n        rsa_decrypt = NULL;\n    } else\n#endif\n#ifndef OPENSSL_NO_DH\n    if (alg_k & (SSL_kDHE | SSL_kDHEPSK)) {\n        EVP_PKEY *skey = NULL;\n        DH *cdh;\n        unsigned int i;\n        BIGNUM *pub_key;\n        const unsigned char *data;\n        if (!PACKET_get_net_2(pkt, &i)) {\n            if (alg_k & (SSL_kDHE | SSL_kDHEPSK)) {\n                al = SSL_AD_HANDSHAKE_FAILURE;\n                SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                       SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG);\n                goto f_err;\n            }\n            i = 0;\n        }\n        if (PACKET_remaining(pkt) != i) {\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG);\n            goto err;\n        }\n        skey = s->s3->tmp.pkey;\n        if (skey == NULL) {\n            al = SSL_AD_HANDSHAKE_FAILURE;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   SSL_R_MISSING_TMP_DH_KEY);\n            goto f_err;\n        }\n        if (PACKET_remaining(pkt) == 0L) {\n            al = SSL_AD_HANDSHAKE_FAILURE;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   SSL_R_MISSING_TMP_DH_KEY);\n            goto f_err;\n        }\n        if (!PACKET_get_bytes(pkt, &data, i)) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   ERR_R_INTERNAL_ERROR);\n            goto f_err;\n        }\n        ckey = EVP_PKEY_new();\n        if (ckey == NULL || EVP_PKEY_copy_parameters(ckey, skey) == 0) {\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, SSL_R_BN_LIB);\n            goto err;\n        }\n        cdh = EVP_PKEY_get0_DH(ckey);\n        pub_key = BN_bin2bn(data, i, NULL);\n        if (pub_key == NULL || !DH_set0_key(cdh, pub_key, NULL)) {\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);\n            if (pub_key != NULL)\n                BN_free(pub_key);\n            goto err;\n        }\n        if (ssl_derive(s, skey, ckey) == 0) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);\n            goto f_err;\n        }\n        EVP_PKEY_free(ckey);\n        ckey = NULL;\n        EVP_PKEY_free(s->s3->tmp.pkey);\n        s->s3->tmp.pkey = NULL;\n    } else\n#endif\n#ifndef OPENSSL_NO_EC\n    if (alg_k & (SSL_kECDHE | SSL_kECDHEPSK)) {\n        EVP_PKEY *skey = s->s3->tmp.pkey;\n        if (PACKET_remaining(pkt) == 0L) {\n            al = SSL_AD_HANDSHAKE_FAILURE;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   SSL_R_MISSING_TMP_ECDH_KEY);\n            goto f_err;\n        } else {\n            unsigned int i;\n            const unsigned char *data;\n            if (!PACKET_get_1(pkt, &i)) {\n                al = SSL_AD_DECODE_ERROR;\n                SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                       SSL_R_LENGTH_MISMATCH);\n                goto f_err;\n            }\n            if (!PACKET_get_bytes(pkt, &data, i)\n                    || PACKET_remaining(pkt) != 0) {\n                SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_EC_LIB);\n                goto err;\n            }\n            ckey = EVP_PKEY_new();\n            if (ckey == NULL || EVP_PKEY_copy_parameters(ckey, skey) <= 0) {\n                SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_EVP_LIB);\n                goto err;\n            }\n            if (EC_KEY_oct2key(EVP_PKEY_get0_EC_KEY(ckey), data, i,\n                               NULL) == 0) {\n                SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_EC_LIB);\n                goto err;\n            }\n        }\n        if (ssl_derive(s, skey, ckey) == 0) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);\n            goto f_err;\n        }\n        EVP_PKEY_free(ckey);\n        ckey = NULL;\n        EVP_PKEY_free(s->s3->tmp.pkey);\n        s->s3->tmp.pkey = NULL;\n        return MSG_PROCESS_CONTINUE_PROCESSING;\n    } else\n#endif\n#ifndef OPENSSL_NO_SRP\n    if (alg_k & SSL_kSRP) {\n        unsigned int i;\n        const unsigned char *data;\n        if (!PACKET_get_net_2(pkt, &i)\n                || !PACKET_get_bytes(pkt, &data, i)) {\n            al = SSL_AD_DECODE_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, SSL_R_BAD_SRP_A_LENGTH);\n            goto f_err;\n        }\n        if ((s->srp_ctx.A = BN_bin2bn(data, i, NULL)) == NULL) {\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_BN_LIB);\n            goto err;\n        }\n        if (BN_ucmp(s->srp_ctx.A, s->srp_ctx.N) >= 0\n            || BN_is_zero(s->srp_ctx.A)) {\n            al = SSL_AD_ILLEGAL_PARAMETER;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   SSL_R_BAD_SRP_PARAMETERS);\n            goto f_err;\n        }\n        OPENSSL_free(s->session->srp_username);\n        s->session->srp_username = OPENSSL_strdup(s->srp_ctx.login);\n        if (s->session->srp_username == NULL) {\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_MALLOC_FAILURE);\n            goto err;\n        }\n        if (!srp_generate_server_master_secret(s)) {\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);\n            goto err;\n        }\n    } else\n#endif\n#ifndef OPENSSL_NO_GOST\n    if (alg_k & SSL_kGOST) {\n        EVP_PKEY_CTX *pkey_ctx;\n        EVP_PKEY *client_pub_pkey = NULL, *pk = NULL;\n        unsigned char premaster_secret[32];\n        const unsigned char *start;\n        size_t outlen = 32, inlen;\n        unsigned long alg_a;\n        int Ttag, Tclass;\n        long Tlen;\n        long sess_key_len;\n        const unsigned char *data;\n        alg_a = s->s3->tmp.new_cipher->algorithm_auth;\n        if (alg_a & SSL_aGOST12) {\n            pk = s->cert->pkeys[SSL_PKEY_GOST12_512].privatekey;\n            if (pk == NULL) {\n                pk = s->cert->pkeys[SSL_PKEY_GOST12_256].privatekey;\n            }\n            if (pk == NULL) {\n                pk = s->cert->pkeys[SSL_PKEY_GOST01].privatekey;\n            }\n        } else if (alg_a & SSL_aGOST01) {\n            pk = s->cert->pkeys[SSL_PKEY_GOST01].privatekey;\n        }\n        pkey_ctx = EVP_PKEY_CTX_new(pk, NULL);\n        if (pkey_ctx == NULL) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_MALLOC_FAILURE);\n            goto f_err;\n        }\n        if (EVP_PKEY_decrypt_init(pkey_ctx) <= 0) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);\n            goto f_err;\n        }\n        client_pub_pkey = X509_get0_pubkey(s->session->peer);\n        if (client_pub_pkey) {\n            if (EVP_PKEY_derive_set_peer(pkey_ctx, client_pub_pkey) <= 0)\n                ERR_clear_error();\n        }\n        sess_key_len = PACKET_remaining(pkt);\n        if (!PACKET_get_bytes(pkt, &data, sess_key_len)) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);\n            goto gerr;\n        }\n        if (ASN1_get_object ((const unsigned char **)&data, &Tlen, &Ttag,\n                             &Tclass, sess_key_len) != V_ASN1_CONSTRUCTED\n            || Ttag != V_ASN1_SEQUENCE\n            || Tclass != V_ASN1_UNIVERSAL) {\n            al = SSL_AD_DECODE_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   SSL_R_DECRYPTION_FAILED);\n            goto gerr;\n        }\n        start = data;\n        inlen = Tlen;\n        if (EVP_PKEY_decrypt\n            (pkey_ctx, premaster_secret, &outlen, start, inlen) <= 0) {\n            al = SSL_AD_DECODE_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE,\n                   SSL_R_DECRYPTION_FAILED);\n            goto gerr;\n        }\n        if (!ssl_generate_master_secret(s, premaster_secret,\n                                        sizeof(premaster_secret), 0)) {\n            al = SSL_AD_INTERNAL_ERROR;\n            SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);\n            goto gerr;\n        }\n        if (EVP_PKEY_CTX_ctrl\n            (pkey_ctx, -1, -1, EVP_PKEY_CTRL_PEER_KEY, 2, NULL) > 0)\n            s->statem.no_cert_verify = 1;\n        EVP_PKEY_CTX_free(pkey_ctx);\n        return MSG_PROCESS_CONTINUE_PROCESSING;\n gerr:\n        EVP_PKEY_CTX_free(pkey_ctx);\n        goto f_err;\n    } else\n#endif\n    {\n        al = SSL_AD_HANDSHAKE_FAILURE;\n        SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, SSL_R_UNKNOWN_CIPHER_TYPE);\n        goto f_err;\n    }\n    return MSG_PROCESS_CONTINUE_PROCESSING;\n f_err:\n    ssl3_send_alert(s, SSL3_AL_FATAL, al);\n#if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_RSA) || !defined(OPENSSL_NO_EC) || defined(OPENSSL_NO_SRP)\n err:\n#endif\n#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH)\n    EVP_PKEY_free(ckey);\n#endif\n    OPENSSL_free(rsa_decrypt);\n#ifndef OPENSSL_NO_PSK\n    OPENSSL_clear_free(s->s3->tmp.psk, s->s3->tmp.psklen);\n    s->s3->tmp.psk = NULL;\n#endif\n    ossl_statem_set_error(s);\n    return MSG_PROCESS_ERROR;\n}', 'void *CRYPTO_malloc(size_t num, const char *file, int line)\n{\n    void *ret = NULL;\n    if (malloc_impl != NULL && malloc_impl != CRYPTO_malloc)\n        return malloc_impl(num, file, line);\n    if (num <= 0)\n        return NULL;\n    allow_customize = 0;\n#ifndef OPENSSL_NO_CRYPTO_MDEBUG\n    if (call_malloc_debug) {\n        CRYPTO_mem_debug_malloc(NULL, num, 0, file, line);\n        ret = malloc(num);\n        CRYPTO_mem_debug_malloc(ret, num, 1, file, line);\n    } else {\n        ret = malloc(num);\n    }\n#else\n    osslargused(file); osslargused(line);\n    ret = malloc(num);\n#endif\n    return ret;\n}', 'static ossl_inline unsigned char constant_time_is_zero_8(unsigned int a)\n{\n    return (unsigned char)(constant_time_is_zero(a));\n}', 'static ossl_inline unsigned int constant_time_is_zero(unsigned int a)\n{\n    return constant_time_msb(~a & (a - 1));\n}']