由于 OpenSSL 使用未初始化的内存,对使用 openldap2 的 libldap 的程序进行 Valgrinding 是一件苦差事。存在一个--ignore-fn
选项,但仅适用于 Valgrind 的地块子组件。memcheck 有什么类似的东西可以排除某些功能出现的痕迹吗?
==13795== 使用大小为 8 的未初始化值 ==13795== 在 0x6A9C8CF: ??? (在 /lib64/libz.so.1.2.3 中) ==13795== 0x6A9A63B:膨胀(在 /lib64/libz.so.1.2.3 中) ==13795== 由 0x68035C1: ??? (在 /lib64/libcrypto.so.1.0.0 中) ==13795== 由 0x6802B9F:COMP_expand_block(在 /lib64/libcrypto.so.1.0.0 中) ==13795== 由 0x64ABBCD:ssl3_do_uncompress(在 /lib64/libssl.so.1.0.0 中) ==13795== 由 0x64ACA6F:ssl3_read_bytes(在 /lib64/libssl.so.1.0.0 中) ==13795== 由 0x64A9F2F: ??? (在 /lib64/libssl.so.1.0.0 中) ==13795== 由 0x56B3E61: ??? (在 /usr/lib64/libldap-2.4.so.2.5.4 中) ==13795== 由 0x5E4DB1B: ??? (在 /usr/lib64/liblber-2.4.so.2.5.4 中) ==13795== 0x5E4E96E:ber_int_sb_read(在 /usr/lib64/liblber-2.4.so.2.5.4 中) ==13795== 由 0x5E4B4A6:ber_get_next(在 /usr/lib64/liblber-2.4.so.2.5.4 中) ==13795== 由 0x568FB9E: ??? (在 /usr/lib64/libldap-2.4.so.2.5.4 中)