summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/reallocarray.c (unfollow)
Commit message (Collapse)AuthorFilesLines
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@
2022-01-14Enable openssl pkey -{,pub}check and pkeyparam -checktb2-6/+2
2022-01-14Undo static linking and other workarounds that are no longer neededtb6-19/+15
after the bump
2022-01-14Convert wycheproof.go for opaque EVP_AEAD_CTXtb1-11/+18
2022-01-14The cttest can link dynamically nowtb1-2/+2
2022-01-14Simplify BN_mont test slightly using a new accessor.tb1-4/+2
2022-01-14openssl(1) dgst: fix build after clones removaltb1-4/+1
ok inoguchi jsing
2022-01-14Convert openssl(1) speed for opaque EVP_AEAD_CTXtb1-13/+31
ok inoguchi jsing
2022-01-14Convert openssl(1) rsa.c for opaque RSAtb1-2/+2
ok inoguchi jsing
2022-01-14openssl(1) genrsa: simplify access to rsa->etb1-5/+3
ok inoguchi jsing