summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/reallocarray.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-01-28Error check for sk_push in libsslinoguchi1-4/+7
CID 118976 118979 ok tb@
2022-01-28Error check for sk_push in libsslinoguchi1-2/+5
CID 24838 comment and ok tb@
2022-01-28Expose tls_signer_error()jsing1-0/+1
Add tls_signer_error to Symbols.list - this was missed during the last libtls minor bump and can ride along. ok deraadt@
2022-01-27sort includes as usualtb1-2/+2
2022-01-27Do not depend on engine.h pulling in err.h and evp.htb2-6/+10
2022-01-26whitespacetb1-4/+4
2022-01-25minor bump after api additiomeric1-1/+1
2022-01-25Introduce a signer interface intented to make TLS privsep simplereric7-5/+438
to implement. Add a tls_config_set_sign_cb() function that allows to register a callback for the signing operation on a tls_config. When used, the context installs fake pivate keys internally, and the callback receives the hash of the public key. Add a tls_signer_*() set of functions to manage tls_signer objects. A tls_signer is an opaque structure on which keys are added. It is used to compute signatures with private keys identified by their associated public key hash. Discussed with and ok jsing@ tb@
2022-01-25Rewrite paragraph to refer to EVP_CIPHER_CTX_new() and HMAC_CTX_new()tb1-6/+6
to match reality. spotted by/ok jmc
2022-01-25Remove some HMAC_CTX_init() remnants in HMAC(3).tb1-31/+5
spotted by/ok jmc
2022-01-25Fix another return 0 bug in SSL_shutdown()tb1-6/+8
If tls13_recod_layer_send_pending() returns TLS13_IO_EOF, we will bubble this up to the caller via tls13_legacy_return_code(), which translates TLS13_IO_EOF to 0. This can happen if we have pending post handshake-handshake data and the peer closes the pipe. Presumably tls13_legacy_shutdown() should be rewritten yet again. ok jsing
2022-01-25Avoid an infinite loop in SSL_shutdown()tb1-2/+4
If the peer closed the write side of the connection and we have not yet received the close_notify, SSL_shutdown() makes an extra read to try and read the peer's close_notify from the pipe. In that situation, we receive EOF. The legacy stack will return -1 while the TLSv1.3 stack will end up returning 0. Since the documentation is not super explicit about what should be done if SSL_shutdown() returns 0, some applications will enter an infinite loop. The code and documentation indicate that SSL_shutdown() should only be called once more if it returned 0. Newer versions of the OpenSSL documentation explicitly say that one should call SSL_read() if SSL_shutdown() returns 0 in order to retrieve the close_notify. Doing this would also have avoided this infinite loop. Reported by Carsten Arzig and bluhm with a test case extracted from the syslogd tests using IO::Socket::SSL, which has such an infinite loop. ok bluhm jsing
2022-01-24Document X509_V_ERR_UNNESTED_RESOURCE. Previous version looked goodtb1-2/+9
to claudio
2022-01-24Garbage collect unused ret in ssl3_get_new_session_ticket()tb1-5/+4
ret is used to bubble up an error from ssl3_get_message() and is unused otherwise. Zap dead store and silly ret = 1; return ret; ok inoguchi jsing
2022-01-24In ssl3_get_server_key_exchange() switch a 'goto err' totb1-2/+2
'goto fatal_err' so that the illegal_parameter alert is actually sent in case of X509_get0_pubkey() failure. ok inoguchi jsing
2022-01-24Avoid use of uninitialized in tlsext_sni_server_parse()tb1-1/+3
If the hostname is too long, tlsext_sni_is_valid_hostname() will fail without having initialized *is_ip. As a result, the garbage value could lead to accepting (but otherwise ignoring) overlong and possibly invalid hostnames without erroring in tlsext_sni_server_parse(). ok inoguchi jsing
2022-01-24Garbage collect the unused rv in tls1_check_ec_server_key() andtb1-3/+2
convert to usual form of error checking. ok inoguchi jsing
2022-01-22Use memmove instead of memcpy for overlapping memoryinoguchi1-3/+3
CID 251047 251094 OK beck@ jsing@ millert@ tb@
2022-01-22Use memmove instead of memcpy for overlapping memoryinoguchi1-5/+5
CID 250936 251103 OK beck@ jsing@ millert@ tb@
2022-01-22X509_GET_PUBKEY(3) return value check in libcryptoinoguchi1-2/+3
CID 345116 ok beck@ tb@
2022-01-22X509_GET_PUBKEY(3) return value check in libcryptoinoguchi1-3/+4
CID 25131 ok beck@ tb@ suggest using X509_REQ_get0_pubkey() and remove the EVP_PKEY_free() from tb@
2022-01-22X509_GET_PUBKEY(3) return value check in libcryptoinoguchi1-3/+3
ok beck@ tb@ suggest using X509_get0_pubkey() and remove EVP_PKEY_free() from tb@
2022-01-22X509_GET_PUBKEY(3) return value check in libcryptoinoguchi2-4/+7
ok beck@ tb@
2022-01-20Remove the remaining three parens in return statements.tb1-4/+4
2022-01-20Use correct spelling of NULL.tb1-2/+2
2022-01-20remove unused variable from all copies of _asr_strdname()naddy2-6/+6
... including those inlined into print_dname(). This also fixes -Wunused-but-set-variable warnings warnings in smtpd and smtpctl. The code was imported with asr and then copied around. ok deraadt@ guenther@
2022-01-20Add check for EVP_CIPHER_CTX_ctrlinoguchi1-4/+6
suggestion from tb@
2022-01-20Add check for EVP_CIPHER_CTX_set_key_length return valueinoguchi1-2/+3
CID 21653 ok jsing@ millert@ tb@
2022-01-20Add check for OBJ_nid2obj return valueinoguchi1-2/+3
input from tb@
2022-01-20Add check for ASN1_INTEGER_setinoguchi1-2/+3
CID 24893 ok jsing@ millert@ tb@
2022-01-20Fix check for BN_mod_inverse_ct return valueinoguchi5-13/+13
ok jsing@ millert@ tb@
2022-01-20Add check for BN_sub return valueinoguchi1-2/+3
CID 24839 ok jsing@ millert@ tb@
2022-01-20Add check for BIO_indent return valueinoguchi1-2/+3
CID 24778 ok jsing@ millert@ tb@
2022-01-20Add check for BIO_indent return valueinoguchi1-3/+5
CID 24812 ok jsing@ millert@ tb@
2022-01-20Add check for EVP_CIPHER_CTX_set_key_length return valueinoguchi1-2/+2
It returns 1 on success and 0 for failure, never negative value. ok jsing@ millert@ tb@
2022-01-20Add and fix check for BN functions return valueinoguchi1-4/+5
ok jsing@ millert@ tb@
2022-01-20Add check for BN functions return valueinoguchi1-3/+5
CID 21665 24835 comment from jsing@ and tb@ ok jsing@ millert@ tb@
2022-01-20Add check for BIO_indent return valueinoguchi1-2/+3
CID 24869 ok jsing@ millert@ tb@
2022-01-19Document the bizarre fact that {CMS,PCKS7}_get0_signers() needs sometb2-4/+12
freeing of what they return despite being get0 functions: the stack of X509s that they return must be freed with sk_X509_free(). The get0 thus probably refers to the individual certs, but not to the stack itself. The libcrypto and libssl APIs never cease to amaze with new traps. ok inoguchi
2022-01-19Check return value from EVP_CIPHER_CTX_new in cms_pwri.cinoguchi1-2/+4
CID 345137 ok jsing@ tb@
2022-01-19Check function return value in libtlsinoguchi1-9/+21
EVP_EncryptInit_ex, EVP_DecryptInit_ex and HMAC_Init_ex are possible to fail and return error. Error from these functions will be fatal for the callback, and I choose to return -1. SSL_CTX_set_tlsext_ticket_key_cb.3 explains the return value of callback. This also could fix Coverity CID 345319. ok jsing@ tb@
2022-01-16Avoid memory leak in error path with openssl(1) smimeinoguchi1-1/+2
CID 345316 ok tb@
2022-01-16Avoid memory leak in error path with openssl(1) cmsinoguchi1-1/+3
CID 345314 345320 ok tb@
2022-01-15spellingjsg12-39/+39
ok tb@
2022-01-15Add back an accidentally dropped .Pptb1-1/+2
2022-01-15Update for HMAC_CTX_{init,cleanup} hand HMAC_cleanup removaltb1-50/+2
2022-01-15Stop documenting clone digests.tb3-47/+7
2022-01-15Minor cleanup and simplification in dsa_pub_encode()tb1-15/+8
This function has a weird dance of allocating an ASN1_STRING in an inner scope and assigning it to a void pointer in an outer scope for passing it to X509_PUBKEY_set0_param() and ASN1_STRING_free() on error. This can be simplified and streamlined. ok inoguchi
2022-01-15Add ct.h and x509_vfy.hinoguchi1-1/+3
2022-01-14Avoid buffer overflow in asn1_parse2inoguchi1-2/+2
asn1_par.c r1.29 changed to access p[0] directly, and this pointer could be overrun since ASN1_get_object advances pointer to the first content octet. In case invalid ASN1 Boolean data, it has length but no content, I thought this could be happen. Adding check p with tot (diff below) will avoid this failure. Reported by oss-fuzz 43633 and 43648(later) ok tb@