From dacc738c96f5b5add251c07f38f231f33f9dfffe Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Mon, 10 Feb 2025 21:18:36 +0200 Subject: [PATCH] thirdparty: improve `-cstrict -cc clang-18 -prod` compatibility for programs that do `import net.mbedtls` --- thirdparty/mbedtls/library/pk.c | 1 + thirdparty/mbedtls/library/ssl_misc.h | 24 ++++++++++++++---------- thirdparty/mbedtls/library/ssl_tls.c | 5 ++--- thirdparty/zip/miniz.h | 3 +-- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/thirdparty/mbedtls/library/pk.c b/thirdparty/mbedtls/library/pk.c index 8dc19ef99b..b9a6b3b893 100644 --- a/thirdparty/mbedtls/library/pk.c +++ b/thirdparty/mbedtls/library/pk.c @@ -576,6 +576,7 @@ int mbedtls_pk_sign_restartable( mbedtls_pk_context *ctx, if( ( md_alg != MBEDTLS_MD_NONE || hash_len != 0 ) && hash == NULL ) return MBEDTLS_ERR_PK_BAD_INPUT_DATA; + if( ctx == NULL ) return MBEDTLS_ERR_PK_BAD_INPUT_DATA; if( ctx->pk_info == NULL || pk_hashlen_helper( md_alg, &hash_len ) != 0 ) return( MBEDTLS_ERR_PK_BAD_INPUT_DATA ); diff --git a/thirdparty/mbedtls/library/ssl_misc.h b/thirdparty/mbedtls/library/ssl_misc.h index 0e0479a917..dec21d4ee6 100644 --- a/thirdparty/mbedtls/library/ssl_misc.h +++ b/thirdparty/mbedtls/library/ssl_misc.h @@ -1582,26 +1582,30 @@ static inline mbedtls_ssl_srtp_profile mbedtls_ssl_check_srtp_profile_value #if defined(MBEDTLS_X509_CRT_PARSE_C) static inline mbedtls_pk_context *mbedtls_ssl_own_key( mbedtls_ssl_context *ssl ) { + if( NULL == ssl) return NULL; mbedtls_ssl_key_cert *key_cert; - - if( ssl->handshake != NULL && ssl->handshake->key_cert != NULL ) + if( ssl->handshake != NULL && ssl->handshake->key_cert != NULL ) { key_cert = ssl->handshake->key_cert; - else + } else { + if( NULL == ssl->conf ) return NULL; key_cert = ssl->conf->key_cert; - - return( key_cert == NULL ? NULL : key_cert->key ); + } + if( NULL == key_cert) return NULL; + return key_cert->key; } static inline mbedtls_x509_crt *mbedtls_ssl_own_cert( mbedtls_ssl_context *ssl ) { + if( NULL == ssl) return NULL; mbedtls_ssl_key_cert *key_cert; - - if( ssl->handshake != NULL && ssl->handshake->key_cert != NULL ) + if( ssl->handshake != NULL && ssl->handshake->key_cert != NULL ) { key_cert = ssl->handshake->key_cert; - else + } else { + if( NULL == ssl->conf ) return NULL; key_cert = ssl->conf->key_cert; - - return( key_cert == NULL ? NULL : key_cert->cert ); + } + if( NULL == key_cert) return NULL; + return key_cert->cert; } /* diff --git a/thirdparty/mbedtls/library/ssl_tls.c b/thirdparty/mbedtls/library/ssl_tls.c index 9bb9dc23cd..9e3d96b5cc 100644 --- a/thirdparty/mbedtls/library/ssl_tls.c +++ b/thirdparty/mbedtls/library/ssl_tls.c @@ -3774,9 +3774,8 @@ int mbedtls_ssl_handshake( mbedtls_ssl_context *ssl ) /* Sanity checks */ - if( ssl == NULL || ssl->conf == NULL ) - return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); - + if( NULL == ssl ) return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + if( NULL == ssl->conf ) return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); #if defined(MBEDTLS_SSL_PROTO_DTLS) if( ssl->conf->transport == MBEDTLS_SSL_TRANSPORT_DATAGRAM && ( ssl->f_set_timer == NULL || ssl->f_get_timer == NULL ) ) diff --git a/thirdparty/zip/miniz.h b/thirdparty/zip/miniz.h index 50d5496183..70c868d78c 100644 --- a/thirdparty/zip/miniz.h +++ b/thirdparty/zip/miniz.h @@ -5131,8 +5131,7 @@ static int mz_mkdir(const char *pDirname) { #define MZ_MKDIR(d) mkdir(d, 0755) #else -#pragma message( \ - "Using fopen, ftello, fseeko, stat() etc. path for file I/O - this path may not support large files.") +#pragma message("Using fopen, ftello, fseeko, stat() etc. path for file I/O - this path may not support large files.") #ifndef MINIZ_NO_TIME #include #endif