Valgrind reports an immense number of errors for me. Running valgrind like `valgrind curl https://example.com`. Tail end of that output:
==30282== Conditional jump or move depends on uninitialised value(s) ==30282== at 0x4E47689: Curl_pgrsUpdate (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x4E47DD8: Curl_pgrsDone (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x4E6AA57: multi_done (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x4E6B016: multi_runsingle (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x4E6C590: curl_multi_perform (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x4E64B51: curl_easy_perform (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x11D9EF: operate_do (in /usr/local/bin/curl) ==30282== by 0x11EEF9: operate (in /usr/local/bin/curl) ==30282== by 0x111343: main (in /usr/local/bin/curl) ==30282== ==30282== Conditional jump or move depends on uninitialised value(s) ==30282== at 0x4E477D8: Curl_pgrsUpdate (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x4E47DD8: Curl_pgrsDone (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x4E6AA57: multi_done (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x4E6B016: multi_runsingle (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x4E6C590: curl_multi_perform (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x4E64B51: curl_easy_perform (in /usr/lib64/libcurl.so.4.5.0) ==30282== by 0x11D9EF: operate_do (in /usr/local/bin/curl) ==30282== by 0x11EEF9: operate (in /usr/local/bin/curl) ==30282== by 0x111343: main (in /usr/local/bin/curl) ==30282== ==30282== ==30282== HEAP SUMMARY: ==30282== in use at exit: 1,696 bytes in 50 blocks ==30282== total heap usage: 32,159 allocs, 32,109 frees, 2,818,764 bytes allocated ==30282== ==30282== LEAK SUMMARY: ==30282== definitely lost: 0 bytes in 0 blocks ==30282== indirectly lost: 0 bytes in 0 blocks ==30282== possibly lost: 0 bytes in 0 blocks ==30282== still reachable: 1,696 bytes in 50 blocks ==30282== suppressed: 0 bytes in 0 blocks ==30282== Rerun with --leak-check=full to see details of leaked memory ==30282== ==30282== Use --track-origins=yes to see where uninitialised values come from ==30282== For lists of detected and suppressed errors, rerun with: -s ==30282== ERROR SUMMARY: 4944 errors from 386 contexts (suppressed: 0 from 0) Running Gentoo x86-64, curl cloned from Github at commit 21b33b9 (latest at the time of writing this). Using gentoo-sources kernel 4.20.8 and glibc-2.28-r5 Built/installed with: `./buildconf` `./configure` `make -j8` `sudo make install` Configure script output about configured environment: Host setup: x86_64-pc-linux-gnu Install prefix: /usr/local Compiler: gcc CFLAGS: -Werror-implicit-function-declaration -O2 -Wno-system-headers -pthread CPPFLAGS: LDFLAGS: LIBS: -lnghttp2 -lidn2 -lssl -lcrypto -lssl -lcrypto -lldap -llber -lz curl version: 7.64.1-DEV SSL support: enabled (OpenSSL) SSH support: no (--with-libssh2) zlib support: enabled brotli support: no (--with-brotli) GSS-API support: no (--with-gssapi) TLS-SRP support: enabled resolver: POSIX threaded IPv6 support: enabled Unix sockets support: enabled IDN support: enabled (libidn2) Build libcurl: Shared=yes, Static=yes Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI support: no (--enable-sspi) ca cert bundle: /etc/ssl/certs/ca-certificates.crt ca cert path: no ca fallback: no LDAP support: enabled (OpenLDAP) LDAPS support: enabled RTSP support: enabled RTMP support: no (--with-librtmp) metalink support: no (--with-libmetalink) PSL support: no (libpsl not found) HTTP2 support: enabled (nghttp2) Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP LDAPS POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP Features: SSL IPv6 UnixSockets libz AsynchDNS IDN NTLM NTLM_WB TLS-SRP HTTP2 HTTPS-proxy How can this be fixed?
signature.asc
Description: Digital signature
------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html