From: Florian Van Heghe Date: Wed, 1 Dec 2021 11:37:42 +0000 (+0100) Subject: mbedTLS: include NULL byte in blob data length for CURLOPT_CAINFO_BLOB X-Git-Tag: curl-7_81_0~115 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=456c53730d21b1fad0c7f72c1817999fba93d077;p=thirdparty%2Fcurl.git mbedTLS: include NULL byte in blob data length for CURLOPT_CAINFO_BLOB Fixes #8079 Closes #8081 --- diff --git a/lib/vtls/mbedtls.c b/lib/vtls/mbedtls.c index ba5c5d7566..7f1ff198c1 100644 --- a/lib/vtls/mbedtls.c +++ b/lib/vtls/mbedtls.c @@ -320,9 +320,14 @@ mbed_connect_step1(struct Curl_easy *data, struct connectdata *conn, mbedtls_x509_crt_init(&backend->cacert); if(ca_info_blob) { - const unsigned char *blob_data = (const unsigned char *)ca_info_blob->data; + unsigned char *blob_data = (unsigned char *)ca_info_blob->data; + + /* mbedTLS expects the terminating NULL byte to be included in the length + of the data */ + size_t blob_data_len = ca_info_blob->len + 1; + ret = mbedtls_x509_crt_parse(&backend->cacert, blob_data, - ca_info_blob->len); + blob_data_len); if(ret<0) { mbedtls_strerror(ret, errorbuf, sizeof(errorbuf));