##----------------------------------------------------------------------##
#
# Errors to suppress by default with OpenSSL
#
# Format of this file is:
# {
#     name_of_suppression
#     kind: one of Param Value1 Value2 Value4 Value8
#                   Free Addr1 Addr2 Addr4 Addr8
#                   Cond (previously known as Value0)
#     (if Param: name of system call param, if Free: name of free-ing fn)
#     caller0 name, or /name/of/so/file.so
#     caller1 name, or ditto
#     (optionally: caller2 name)
#     (optionally: caller3 name)
#  }

##----------------------------------------------------------------------##
{
   OpenSSL BN_*(Cond)
   Memcheck:Cond
   fun:BN_*
}

{
   OpenSSL BN_*(Value4)
   Memcheck:Value4
   fun:BN_*
}

{
   OpenSSL bn_*(Cond)
   Memcheck:Cond
   fun:bn_*
}

{
   OpenSSL bn_*(Value4)
   Memcheck:Value4
   fun:bn_*
}

{
   OpenSSL AES_encrypt(Value4)
   Memcheck:Value4
   fun:AES_encrypt
   fun:AES_cbc_encrypt
}

{
   OpenSSL DES_encrypt*(Value4)
   Memcheck:Value4
   fun:DES_encrypt2
   fun:DES_encrypt3
}

{
   OpenSSL RSA_padding_add_PKCS1_type_2(Cond)
   Memcheck:Cond
   fun:RSA_padding_add_PKCS1_type_2
   fun:RSA_eay_public_encrypt
   ...
}

{
   EVP_DecryptFinal_ex
   Memcheck:Cond
   ...
   fun:EVP_DecryptFinal_ex
   fun:xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock
   ...
}

{
   ossl_provider_set_operation_bit->malloc
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:ossl_provider_set_operation_bit
   ...
}
{
   ossl_provider_set_operation_bit->calloc
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   fun:ossl_provider_set_operation_bit
   ...
}
{
   ossl_provider_set_operation_bit->realloc
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:realloc
   fun:ossl_provider_set_operation_bit
   ...
}
{
   OSSL_PROVIDER_try_load->malloc
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:OSSL_PROVIDER_try_load
   ...
   fun:main
}
{
   OSSL_PROVIDER_try_load->realloc
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:realloc
   ...
   fun:OSSL_PROVIDER_try_load
   ...
   fun:main
}
{
   OSSL_PROVIDER_try_load->calloc
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   ...
   fun:OSSL_PROVIDER_try_load
   ...
   fun:main
}
{
   OPENSSL_init_crypto->malloc
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:OPENSSL_init_crypto
   ...
   fun:main
}
{
   OPENSSL_init_crypto->realloc
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:realloc
   ...
   fun:OPENSSL_init_crypto
   ...
   fun:main
}
{
   OPENSSL_init_crypto->calloc
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   ...
   fun:OPENSSL_init_crypto
   ...
   fun:main
}

