0

I'm trying to debug some possible memory corruption issues within a C++ application that depends on libcrypto (& things like that). My issue is that these libraries generate so many errors that even valgrind gives up & they completely drown out any of my own issues.

All I see is this (thousands of times):

=9893== Conditional jump or move depends on uninitialised value(s)
==9893==    at 0x5101AAC: ??? (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x510253F: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893==    by 0x5BE5948: multi_runsingle (multi.c:1698)
==9893==    by 0x5BE697B: curl_multi_perform (multi.c:2226)
==9893==    by 0x5BD9A03: easy_transfer (easy.c:595)
==9893== 
==9893== Conditional jump or move depends on uninitialised value(s)
==9893==    at 0x5101AB0: ??? (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x510253F: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893==    by 0x5BE5948: multi_runsingle (multi.c:1698)
==9893==    by 0x5BE697B: curl_multi_perform (multi.c:2226)
==9893==    by 0x5BD9A03: easy_transfer (easy.c:595)
==9893== 
==9893== Conditional jump or move depends on uninitialised value(s)
==9893==    at 0x5101A43: ??? (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x510253F: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893==    by 0x5BE5948: multi_runsingle (multi.c:1698)
==9893==    by 0x5BE697B: curl_multi_perform (multi.c:2226)
==9893==    by 0x5BD9A03: easy_transfer (easy.c:595)
==9893== 
==9893== Conditional jump or move depends on uninitialised value(s)
==9893==    at 0x5101A4B: ??? (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x510253F: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893==    by 0x5BE5948: multi_runsingle (multi.c:1698)
==9893==    by 0x5BE697B: curl_multi_perform (multi.c:2226)
==9893==    by 0x5BD9A03: easy_transfer (easy.c:595)
==9893== 
==9893== Conditional jump or move depends on uninitialised value(s)
==9893==    at 0x5101E3B: ??? (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x510253F: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893==    by 0x5BE5948: multi_runsingle (multi.c:1698)
==9893==    by 0x5BE697B: curl_multi_perform (multi.c:2226)
==9893==    by 0x5BD9A03: easy_transfer (easy.c:595)
==9893== 
==9893== Use of uninitialised value of size 8
==9893==    at 0x5102552: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893==    by 0x5BE5948: multi_runsingle (multi.c:1698)
==9893==    by 0x5BE697B: curl_multi_perform (multi.c:2226)
==9893==    by 0x5BD9A03: easy_transfer (easy.c:595)
==9893==    by 0x5BD9C75: easy_perform (easy.c:688)
==9893== 
==9893== Conditional jump or move depends on uninitialised value(s)
==9893==    at 0x510255A: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893==    by 0x5BE5948: multi_runsingle (multi.c:1698)
==9893==    by 0x5BE697B: curl_multi_perform (multi.c:2226)
==9893==    by 0x5BD9A03: easy_transfer (easy.c:595)
==9893==    by 0x5BD9C75: easy_perform (easy.c:688)
==9893== 
==9893== Conditional jump or move depends on uninitialised value(s)
==9893==    at 0x51025F3: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893==    by 0x5BE5948: multi_runsingle (multi.c:1698)
==9893==    by 0x5BE697B: curl_multi_perform (multi.c:2226)
==9893==    by 0x5BD9A03: easy_transfer (easy.c:595)
==9893==    by 0x5BD9C75: easy_perform (easy.c:688)
==9893== 
==9893== Use of uninitialised value of size 8
==9893==    at 0x51F6E11: OPENSSL_strnlen (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117AA7: ??? (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117E19: BIO_vprintf (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117F47: BIO_printf (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x51025B5: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893== 
==9893== Conditional jump or move depends on uninitialised value(s)
==9893==    at 0x51F6E0F: OPENSSL_strnlen (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117AA7: ??? (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117E19: BIO_vprintf (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117F47: BIO_printf (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x51025B5: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893== 
==9893== Conditional jump or move depends on uninitialised value(s)
==9893==    at 0x5117ACF: ??? (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117E19: BIO_vprintf (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117F47: BIO_printf (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x51025B5: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893==    by 0x5BE5948: multi_runsingle (multi.c:1698)
==9893== 
==9893== Conditional jump or move depends on uninitialised value(s)
==9893==    at 0x5117B0C: ??? (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117E19: BIO_vprintf (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117F47: BIO_printf (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x51025B5: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893==    by 0x5BE5948: multi_runsingle (multi.c:1698)
==9893== 
==9893== Use of uninitialised value of size 8
==9893==    at 0x5117B44: ??? (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117E19: BIO_vprintf (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5117F47: BIO_printf (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x51025B5: ASN1_TIME_print (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
==9893==    by 0x5C2A0F7: servercert (openssl.c:3483)
==9893==    by 0x5C2ADBE: ossl_connect_step3 (openssl.c:3637)
==9893==    by 0x5C2B091: ossl_connect_common (openssl.c:3739)
==9893==    by 0x5C2B13D: Curl_ossl_connect_nonblocking (openssl.c:3763)
==9893==    by 0x5C2C8BA: Curl_ssl_connect_nonblocking (vtls.c:278)
==9893==    by 0x5BB49DE: https_connecting (http.c:1575)
==9893==    by 0x5BE4C50: protocol_connecting (multi.c:1295)
==9893==    by 0x5BE5948: multi_runsingle (multi.c:1698)

Note: even if these errors are caused by how libcrypto is used I have no control over that (I never directly use any crypto stuff it's all just transitive dependencies).

user3818491
  • 498
  • 1
  • 6
  • 16

0 Answers0