I'm having trouble writing a suppression rule.

Here's the finding:

==6516== Use of uninitialised value of size 8
==6516==    at 0x533B449: _x86_64_AES_encrypt_compact (in
/usr/local/ssl/lib/libcrypto.so.1.0.0)
==6516==    by 0x533B6DA: fips_aes_encrypt (in
/usr/local/ssl/lib/libcrypto.so.1.0.0)
==6516==    by 0x56FBC47: ??? (in /usr/local/ssl/lib/libcrypto.so.1.0.0)
==6516==    by 0x56FBD27: ??? (in /usr/local/ssl/lib/libcrypto.so.1.0.0)
==6516==    by 0x56FBE47: ??? (in /usr/local/ssl/lib/libcrypto.so.1.0.0)
==6516==    by 0xFFEFFFE17: ???
==6516==  Uninitialised value was created by a heap allocation
==6516==    at 0x4C28D84: malloc (vg_replace_malloc.c:291)
==6516==    by 0x53575AF: CRYPTO_malloc (in
/usr/local/ssl/lib/libcrypto.so.1.0.0)
==6516==    by 0x53FB52B: drbg_get_entropy (in
/usr/local/ssl/lib/libcrypto.so.1.0.0)
==6516==    by 0x534C312: fips_get_entropy (in
/usr/local/ssl/lib/libcrypto.so.1.0.0)
==6516==    by 0x534CABE: FIPS_drbg_instantiate (in
/usr/local/ssl/lib/libcrypto.so.1.0.0)
==6516==    by 0x53FB94E: RAND_init_fips (in
/usr/local/ssl/lib/libcrypto.so.1.0.0)
==6516==    by 0x5403F5D: EVP_add_cipher (in
/usr/local/ssl/lib/libcrypto.so.1.0.0)
==6516==    by 0x507B7C0: SSL_library_init (in
/usr/local/ssl/lib/libssl.so.1.0.0)
==6516==    by 0x4103E7: DoStartupOpenSSL() (ac-openssl-1.cpp:494)
==6516==    by 0x419504: main (main.cpp:69)
==6516==

Here are the rules I'm trying to use to suppress the finding:

{
   RAND_init_fips_1
   Memcheck:Cond
   ...
   fun:RAND_init_fips
   ...
}

{
   RAND_init_fips_2
   Memcheck:Value8
   ...
   fun:RAND_init_fips
   ...
}

{
   RAND_init_fips_3
   Memcheck:Value4
   ...
   fun:RAND_init_fips
   ...
}

I believe I'm using the frame-level wildcard according to the manual
(under Section 2.5, http://valgrind.org/docs/manual/manual-core.html):

    A location line may also be simply "..." (three dots). This is a
    frame-level wildcard, which matches zero or more frames.
    Frame level wildcards are useful because they make it easy
    to ignore varying numbers of uninteresting frames in between
    frames of interest. That is often important when writing
    suppressions which are intended to be robust against
    variations in the amount of function inlining done by compilers.

Any ideas what I'm doing wrong?

Thanks in advance.

**********

My version of Valgrind (built from sources):

$ which valgrind
/usr/local/bin/valgrind
$ valgrind --version
valgrind-3.9.0

And the OS (Debian 7.3, x64, fully patched):

$ uname -a
Linux debian-q500 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to