17db96d56Sopenharmony_ci#
27db96d56Sopenharmony_ci# This is a valgrind suppression file that should be used when using valgrind.
37db96d56Sopenharmony_ci#
47db96d56Sopenharmony_ci#  Here's an example of running valgrind:
57db96d56Sopenharmony_ci#
67db96d56Sopenharmony_ci#	cd python/dist/src
77db96d56Sopenharmony_ci#	valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
87db96d56Sopenharmony_ci#		./python -E ./Lib/test/regrtest.py -u gui,network
97db96d56Sopenharmony_ci#
107db96d56Sopenharmony_ci# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
117db96d56Sopenharmony_ci# to use the preferred suppressions with address_in_range.
127db96d56Sopenharmony_ci#
137db96d56Sopenharmony_ci# If you do not want to recompile Python, you can uncomment
147db96d56Sopenharmony_ci# suppressions for _PyObject_Free and _PyObject_Realloc.
157db96d56Sopenharmony_ci#
167db96d56Sopenharmony_ci# See Misc/README.valgrind for more information.
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_ci# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
197db96d56Sopenharmony_ci{
207db96d56Sopenharmony_ci   ADDRESS_IN_RANGE/Invalid read of size 4
217db96d56Sopenharmony_ci   Memcheck:Addr4
227db96d56Sopenharmony_ci   fun:address_in_range
237db96d56Sopenharmony_ci}
247db96d56Sopenharmony_ci
257db96d56Sopenharmony_ci{
267db96d56Sopenharmony_ci   ADDRESS_IN_RANGE/Invalid read of size 4
277db96d56Sopenharmony_ci   Memcheck:Value4
287db96d56Sopenharmony_ci   fun:address_in_range
297db96d56Sopenharmony_ci}
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ci{
327db96d56Sopenharmony_ci   ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64)
337db96d56Sopenharmony_ci   Memcheck:Value8
347db96d56Sopenharmony_ci   fun:address_in_range
357db96d56Sopenharmony_ci}
367db96d56Sopenharmony_ci
377db96d56Sopenharmony_ci{
387db96d56Sopenharmony_ci   ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
397db96d56Sopenharmony_ci   Memcheck:Cond
407db96d56Sopenharmony_ci   fun:address_in_range
417db96d56Sopenharmony_ci}
427db96d56Sopenharmony_ci
437db96d56Sopenharmony_ci#
447db96d56Sopenharmony_ci# Leaks (including possible leaks)
457db96d56Sopenharmony_ci#    Hmmm, I wonder if this masks some real leaks.  I think it does.
467db96d56Sopenharmony_ci#    Will need to fix that.
477db96d56Sopenharmony_ci#
487db96d56Sopenharmony_ci
497db96d56Sopenharmony_ci{
507db96d56Sopenharmony_ci   Suppress leaking the GIL.  Happens once per process, see comment in ceval.c.
517db96d56Sopenharmony_ci   Memcheck:Leak
527db96d56Sopenharmony_ci   fun:malloc
537db96d56Sopenharmony_ci   fun:PyThread_allocate_lock
547db96d56Sopenharmony_ci   fun:PyEval_InitThreads
557db96d56Sopenharmony_ci}
567db96d56Sopenharmony_ci
577db96d56Sopenharmony_ci{
587db96d56Sopenharmony_ci   Suppress leaking the GIL after a fork.
597db96d56Sopenharmony_ci   Memcheck:Leak
607db96d56Sopenharmony_ci   fun:malloc
617db96d56Sopenharmony_ci   fun:PyThread_allocate_lock
627db96d56Sopenharmony_ci   fun:PyEval_ReInitThreads
637db96d56Sopenharmony_ci}
647db96d56Sopenharmony_ci
657db96d56Sopenharmony_ci{
667db96d56Sopenharmony_ci   Suppress leaking the autoTLSkey.  This looks like it shouldn't leak though.
677db96d56Sopenharmony_ci   Memcheck:Leak
687db96d56Sopenharmony_ci   fun:malloc
697db96d56Sopenharmony_ci   fun:PyThread_create_key
707db96d56Sopenharmony_ci   fun:_PyGILState_Init
717db96d56Sopenharmony_ci   fun:Py_InitializeEx
727db96d56Sopenharmony_ci   fun:Py_Main
737db96d56Sopenharmony_ci}
747db96d56Sopenharmony_ci
757db96d56Sopenharmony_ci{
767db96d56Sopenharmony_ci   Hmmm, is this a real leak or like the GIL?
777db96d56Sopenharmony_ci   Memcheck:Leak
787db96d56Sopenharmony_ci   fun:malloc
797db96d56Sopenharmony_ci   fun:PyThread_ReInitTLS
807db96d56Sopenharmony_ci}
817db96d56Sopenharmony_ci
827db96d56Sopenharmony_ci{
837db96d56Sopenharmony_ci   Handle PyMalloc confusing valgrind (possibly leaked)
847db96d56Sopenharmony_ci   Memcheck:Leak
857db96d56Sopenharmony_ci   fun:realloc
867db96d56Sopenharmony_ci   fun:_PyObject_GC_Resize
877db96d56Sopenharmony_ci   fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
887db96d56Sopenharmony_ci}
897db96d56Sopenharmony_ci
907db96d56Sopenharmony_ci{
917db96d56Sopenharmony_ci   Handle PyMalloc confusing valgrind (possibly leaked)
927db96d56Sopenharmony_ci   Memcheck:Leak
937db96d56Sopenharmony_ci   fun:malloc
947db96d56Sopenharmony_ci   fun:_PyObject_GC_New
957db96d56Sopenharmony_ci   fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
967db96d56Sopenharmony_ci}
977db96d56Sopenharmony_ci
987db96d56Sopenharmony_ci{
997db96d56Sopenharmony_ci   Handle PyMalloc confusing valgrind (possibly leaked)
1007db96d56Sopenharmony_ci   Memcheck:Leak
1017db96d56Sopenharmony_ci   fun:malloc
1027db96d56Sopenharmony_ci   fun:_PyObject_GC_NewVar
1037db96d56Sopenharmony_ci   fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
1047db96d56Sopenharmony_ci}
1057db96d56Sopenharmony_ci
1067db96d56Sopenharmony_ci#
1077db96d56Sopenharmony_ci# Non-python specific leaks
1087db96d56Sopenharmony_ci#
1097db96d56Sopenharmony_ci
1107db96d56Sopenharmony_ci{
1117db96d56Sopenharmony_ci   Handle pthread issue (possibly leaked)
1127db96d56Sopenharmony_ci   Memcheck:Leak
1137db96d56Sopenharmony_ci   fun:calloc
1147db96d56Sopenharmony_ci   fun:allocate_dtv
1157db96d56Sopenharmony_ci   fun:_dl_allocate_tls_storage
1167db96d56Sopenharmony_ci   fun:_dl_allocate_tls
1177db96d56Sopenharmony_ci}
1187db96d56Sopenharmony_ci
1197db96d56Sopenharmony_ci{
1207db96d56Sopenharmony_ci   Handle pthread issue (possibly leaked)
1217db96d56Sopenharmony_ci   Memcheck:Leak
1227db96d56Sopenharmony_ci   fun:memalign
1237db96d56Sopenharmony_ci   fun:_dl_allocate_tls_storage
1247db96d56Sopenharmony_ci   fun:_dl_allocate_tls
1257db96d56Sopenharmony_ci}
1267db96d56Sopenharmony_ci
1277db96d56Sopenharmony_ci###{
1287db96d56Sopenharmony_ci###   ADDRESS_IN_RANGE/Invalid read of size 4
1297db96d56Sopenharmony_ci###   Memcheck:Addr4
1307db96d56Sopenharmony_ci###   fun:_PyObject_Free
1317db96d56Sopenharmony_ci###}
1327db96d56Sopenharmony_ci###
1337db96d56Sopenharmony_ci###{
1347db96d56Sopenharmony_ci###   ADDRESS_IN_RANGE/Invalid read of size 4
1357db96d56Sopenharmony_ci###   Memcheck:Value4
1367db96d56Sopenharmony_ci###   fun:_PyObject_Free
1377db96d56Sopenharmony_ci###}
1387db96d56Sopenharmony_ci###
1397db96d56Sopenharmony_ci###{
1407db96d56Sopenharmony_ci###   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
1417db96d56Sopenharmony_ci###   Memcheck:Addr8
1427db96d56Sopenharmony_ci###   fun:_PyObject_Free
1437db96d56Sopenharmony_ci###}
1447db96d56Sopenharmony_ci###
1457db96d56Sopenharmony_ci###{
1467db96d56Sopenharmony_ci###   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
1477db96d56Sopenharmony_ci###   Memcheck:Value8
1487db96d56Sopenharmony_ci###   fun:_PyObject_Free
1497db96d56Sopenharmony_ci###}
1507db96d56Sopenharmony_ci###
1517db96d56Sopenharmony_ci###{
1527db96d56Sopenharmony_ci###   ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
1537db96d56Sopenharmony_ci###   Memcheck:Cond
1547db96d56Sopenharmony_ci###   fun:_PyObject_Free
1557db96d56Sopenharmony_ci###}
1567db96d56Sopenharmony_ci
1577db96d56Sopenharmony_ci###{
1587db96d56Sopenharmony_ci###   ADDRESS_IN_RANGE/Invalid read of size 4
1597db96d56Sopenharmony_ci###   Memcheck:Addr4
1607db96d56Sopenharmony_ci###   fun:_PyObject_Realloc
1617db96d56Sopenharmony_ci###}
1627db96d56Sopenharmony_ci###
1637db96d56Sopenharmony_ci###{
1647db96d56Sopenharmony_ci###   ADDRESS_IN_RANGE/Invalid read of size 4
1657db96d56Sopenharmony_ci###   Memcheck:Value4
1667db96d56Sopenharmony_ci###   fun:_PyObject_Realloc
1677db96d56Sopenharmony_ci###}
1687db96d56Sopenharmony_ci###
1697db96d56Sopenharmony_ci###{
1707db96d56Sopenharmony_ci###   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
1717db96d56Sopenharmony_ci###   Memcheck:Addr8
1727db96d56Sopenharmony_ci###   fun:_PyObject_Realloc
1737db96d56Sopenharmony_ci###}
1747db96d56Sopenharmony_ci###
1757db96d56Sopenharmony_ci###{
1767db96d56Sopenharmony_ci###   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
1777db96d56Sopenharmony_ci###   Memcheck:Value8
1787db96d56Sopenharmony_ci###   fun:_PyObject_Realloc
1797db96d56Sopenharmony_ci###}
1807db96d56Sopenharmony_ci###
1817db96d56Sopenharmony_ci###{
1827db96d56Sopenharmony_ci###   ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
1837db96d56Sopenharmony_ci###   Memcheck:Cond
1847db96d56Sopenharmony_ci###   fun:_PyObject_Realloc
1857db96d56Sopenharmony_ci###}
1867db96d56Sopenharmony_ci
1877db96d56Sopenharmony_ci###
1887db96d56Sopenharmony_ci### All the suppressions below are for errors that occur within libraries
1897db96d56Sopenharmony_ci### that Python uses.  The problems to not appear to be related to Python's
1907db96d56Sopenharmony_ci### use of the libraries.
1917db96d56Sopenharmony_ci###
1927db96d56Sopenharmony_ci
1937db96d56Sopenharmony_ci{
1947db96d56Sopenharmony_ci   Generic ubuntu ld problems
1957db96d56Sopenharmony_ci   Memcheck:Addr8
1967db96d56Sopenharmony_ci   obj:/lib/ld-2.4.so
1977db96d56Sopenharmony_ci   obj:/lib/ld-2.4.so
1987db96d56Sopenharmony_ci   obj:/lib/ld-2.4.so
1997db96d56Sopenharmony_ci   obj:/lib/ld-2.4.so
2007db96d56Sopenharmony_ci}
2017db96d56Sopenharmony_ci
2027db96d56Sopenharmony_ci{
2037db96d56Sopenharmony_ci   Generic gentoo ld problems
2047db96d56Sopenharmony_ci   Memcheck:Cond
2057db96d56Sopenharmony_ci   obj:/lib/ld-2.3.4.so
2067db96d56Sopenharmony_ci   obj:/lib/ld-2.3.4.so
2077db96d56Sopenharmony_ci   obj:/lib/ld-2.3.4.so
2087db96d56Sopenharmony_ci   obj:/lib/ld-2.3.4.so
2097db96d56Sopenharmony_ci}
2107db96d56Sopenharmony_ci
2117db96d56Sopenharmony_ci{
2127db96d56Sopenharmony_ci   DBM problems, see test_dbm
2137db96d56Sopenharmony_ci   Memcheck:Param
2147db96d56Sopenharmony_ci   write(buf)
2157db96d56Sopenharmony_ci   fun:write
2167db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2177db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2187db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2197db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2207db96d56Sopenharmony_ci   fun:dbm_close
2217db96d56Sopenharmony_ci}
2227db96d56Sopenharmony_ci
2237db96d56Sopenharmony_ci{
2247db96d56Sopenharmony_ci   DBM problems, see test_dbm
2257db96d56Sopenharmony_ci   Memcheck:Value8
2267db96d56Sopenharmony_ci   fun:memmove
2277db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2287db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2297db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2307db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2317db96d56Sopenharmony_ci   fun:dbm_store
2327db96d56Sopenharmony_ci   fun:dbm_ass_sub
2337db96d56Sopenharmony_ci}
2347db96d56Sopenharmony_ci
2357db96d56Sopenharmony_ci{
2367db96d56Sopenharmony_ci   DBM problems, see test_dbm
2377db96d56Sopenharmony_ci   Memcheck:Cond
2387db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2397db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2407db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2417db96d56Sopenharmony_ci   fun:dbm_store
2427db96d56Sopenharmony_ci   fun:dbm_ass_sub
2437db96d56Sopenharmony_ci}
2447db96d56Sopenharmony_ci
2457db96d56Sopenharmony_ci{
2467db96d56Sopenharmony_ci   DBM problems, see test_dbm
2477db96d56Sopenharmony_ci   Memcheck:Cond
2487db96d56Sopenharmony_ci   fun:memmove
2497db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2507db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2517db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2527db96d56Sopenharmony_ci   obj:/usr/lib/libdb1.so.2
2537db96d56Sopenharmony_ci   fun:dbm_store
2547db96d56Sopenharmony_ci   fun:dbm_ass_sub
2557db96d56Sopenharmony_ci}
2567db96d56Sopenharmony_ci
2577db96d56Sopenharmony_ci{
2587db96d56Sopenharmony_ci   GDBM problems, see test_gdbm
2597db96d56Sopenharmony_ci   Memcheck:Param
2607db96d56Sopenharmony_ci   write(buf)
2617db96d56Sopenharmony_ci   fun:write
2627db96d56Sopenharmony_ci   fun:gdbm_open
2637db96d56Sopenharmony_ci
2647db96d56Sopenharmony_ci}
2657db96d56Sopenharmony_ci
2667db96d56Sopenharmony_ci{
2677db96d56Sopenharmony_ci   Uninitialised byte(s) false alarm, see bpo-35561
2687db96d56Sopenharmony_ci   Memcheck:Param
2697db96d56Sopenharmony_ci   epoll_ctl(event)
2707db96d56Sopenharmony_ci   fun:epoll_ctl
2717db96d56Sopenharmony_ci   fun:pyepoll_internal_ctl
2727db96d56Sopenharmony_ci}
2737db96d56Sopenharmony_ci
2747db96d56Sopenharmony_ci{
2757db96d56Sopenharmony_ci   ZLIB problems, see test_gzip
2767db96d56Sopenharmony_ci   Memcheck:Cond
2777db96d56Sopenharmony_ci   obj:/lib/libz.so.1.2.3
2787db96d56Sopenharmony_ci   obj:/lib/libz.so.1.2.3
2797db96d56Sopenharmony_ci   fun:deflate
2807db96d56Sopenharmony_ci}
2817db96d56Sopenharmony_ci
2827db96d56Sopenharmony_ci{
2837db96d56Sopenharmony_ci   Avoid problems w/readline doing a putenv and leaking on exit
2847db96d56Sopenharmony_ci   Memcheck:Leak
2857db96d56Sopenharmony_ci   fun:malloc
2867db96d56Sopenharmony_ci   fun:xmalloc
2877db96d56Sopenharmony_ci   fun:sh_set_lines_and_columns
2887db96d56Sopenharmony_ci   fun:_rl_get_screen_size
2897db96d56Sopenharmony_ci   fun:_rl_init_terminal_io
2907db96d56Sopenharmony_ci   obj:/lib/libreadline.so.4.3
2917db96d56Sopenharmony_ci   fun:rl_initialize
2927db96d56Sopenharmony_ci}
2937db96d56Sopenharmony_ci
2947db96d56Sopenharmony_ci# Valgrind emits "Conditional jump or move depends on uninitialised value(s)"
2957db96d56Sopenharmony_ci# false alarms on GCC builtin strcmp() function. The GCC code is correct.
2967db96d56Sopenharmony_ci#
2977db96d56Sopenharmony_ci# Valgrind bug: https://bugs.kde.org/show_bug.cgi?id=264936
2987db96d56Sopenharmony_ci{
2997db96d56Sopenharmony_ci   bpo-38118: Valgrind emits false alarm on GCC builtin strcmp()
3007db96d56Sopenharmony_ci   Memcheck:Cond
3017db96d56Sopenharmony_ci   fun:PyUnicode_Decode
3027db96d56Sopenharmony_ci}
3037db96d56Sopenharmony_ci
3047db96d56Sopenharmony_ci
3057db96d56Sopenharmony_ci###
3067db96d56Sopenharmony_ci### These occur from somewhere within the SSL, when running
3077db96d56Sopenharmony_ci###  test_socket_sll.  They are too general to leave on by default.
3087db96d56Sopenharmony_ci###
3097db96d56Sopenharmony_ci###{
3107db96d56Sopenharmony_ci###   somewhere in SSL stuff
3117db96d56Sopenharmony_ci###   Memcheck:Cond
3127db96d56Sopenharmony_ci###   fun:memset
3137db96d56Sopenharmony_ci###}
3147db96d56Sopenharmony_ci###{
3157db96d56Sopenharmony_ci###   somewhere in SSL stuff
3167db96d56Sopenharmony_ci###   Memcheck:Value4
3177db96d56Sopenharmony_ci###   fun:memset
3187db96d56Sopenharmony_ci###}
3197db96d56Sopenharmony_ci###
3207db96d56Sopenharmony_ci###{
3217db96d56Sopenharmony_ci###   somewhere in SSL stuff
3227db96d56Sopenharmony_ci###   Memcheck:Cond
3237db96d56Sopenharmony_ci###   fun:MD5_Update
3247db96d56Sopenharmony_ci###}
3257db96d56Sopenharmony_ci###
3267db96d56Sopenharmony_ci###{
3277db96d56Sopenharmony_ci###   somewhere in SSL stuff
3287db96d56Sopenharmony_ci###   Memcheck:Value4
3297db96d56Sopenharmony_ci###   fun:MD5_Update
3307db96d56Sopenharmony_ci###}
3317db96d56Sopenharmony_ci
3327db96d56Sopenharmony_ci# Fedora's package "openssl-1.0.1-0.1.beta2.fc17.x86_64" on x86_64
3337db96d56Sopenharmony_ci# See http://bugs.python.org/issue14171
3347db96d56Sopenharmony_ci{
3357db96d56Sopenharmony_ci   openssl 1.0.1 prng 1
3367db96d56Sopenharmony_ci   Memcheck:Cond
3377db96d56Sopenharmony_ci   fun:bcmp
3387db96d56Sopenharmony_ci   fun:fips_get_entropy
3397db96d56Sopenharmony_ci   fun:FIPS_drbg_instantiate
3407db96d56Sopenharmony_ci   fun:RAND_init_fips
3417db96d56Sopenharmony_ci   fun:OPENSSL_init_library
3427db96d56Sopenharmony_ci   fun:SSL_library_init
3437db96d56Sopenharmony_ci   fun:init_hashlib
3447db96d56Sopenharmony_ci}
3457db96d56Sopenharmony_ci
3467db96d56Sopenharmony_ci{
3477db96d56Sopenharmony_ci   openssl 1.0.1 prng 2
3487db96d56Sopenharmony_ci   Memcheck:Cond
3497db96d56Sopenharmony_ci   fun:fips_get_entropy
3507db96d56Sopenharmony_ci   fun:FIPS_drbg_instantiate
3517db96d56Sopenharmony_ci   fun:RAND_init_fips
3527db96d56Sopenharmony_ci   fun:OPENSSL_init_library
3537db96d56Sopenharmony_ci   fun:SSL_library_init
3547db96d56Sopenharmony_ci   fun:init_hashlib
3557db96d56Sopenharmony_ci}
3567db96d56Sopenharmony_ci
3577db96d56Sopenharmony_ci{
3587db96d56Sopenharmony_ci   openssl 1.0.1 prng 3
3597db96d56Sopenharmony_ci   Memcheck:Value8
3607db96d56Sopenharmony_ci   fun:_x86_64_AES_encrypt_compact
3617db96d56Sopenharmony_ci   fun:AES_encrypt
3627db96d56Sopenharmony_ci}
3637db96d56Sopenharmony_ci
3647db96d56Sopenharmony_ci#
3657db96d56Sopenharmony_ci# All of these problems come from using test_socket_ssl
3667db96d56Sopenharmony_ci#
3677db96d56Sopenharmony_ci{
3687db96d56Sopenharmony_ci   from test_socket_ssl
3697db96d56Sopenharmony_ci   Memcheck:Cond
3707db96d56Sopenharmony_ci   fun:BN_bin2bn
3717db96d56Sopenharmony_ci}
3727db96d56Sopenharmony_ci
3737db96d56Sopenharmony_ci{
3747db96d56Sopenharmony_ci   from test_socket_ssl
3757db96d56Sopenharmony_ci   Memcheck:Cond
3767db96d56Sopenharmony_ci   fun:BN_num_bits_word
3777db96d56Sopenharmony_ci}
3787db96d56Sopenharmony_ci
3797db96d56Sopenharmony_ci{
3807db96d56Sopenharmony_ci   from test_socket_ssl
3817db96d56Sopenharmony_ci   Memcheck:Value4
3827db96d56Sopenharmony_ci   fun:BN_num_bits_word
3837db96d56Sopenharmony_ci}
3847db96d56Sopenharmony_ci
3857db96d56Sopenharmony_ci{
3867db96d56Sopenharmony_ci   from test_socket_ssl
3877db96d56Sopenharmony_ci   Memcheck:Cond
3887db96d56Sopenharmony_ci   fun:BN_mod_exp_mont_word
3897db96d56Sopenharmony_ci}
3907db96d56Sopenharmony_ci
3917db96d56Sopenharmony_ci{
3927db96d56Sopenharmony_ci   from test_socket_ssl
3937db96d56Sopenharmony_ci   Memcheck:Cond
3947db96d56Sopenharmony_ci   fun:BN_mod_exp_mont
3957db96d56Sopenharmony_ci}
3967db96d56Sopenharmony_ci
3977db96d56Sopenharmony_ci{
3987db96d56Sopenharmony_ci   from test_socket_ssl
3997db96d56Sopenharmony_ci   Memcheck:Param
4007db96d56Sopenharmony_ci   write(buf)
4017db96d56Sopenharmony_ci   fun:write
4027db96d56Sopenharmony_ci   obj:/usr/lib/libcrypto.so.0.9.7
4037db96d56Sopenharmony_ci}
4047db96d56Sopenharmony_ci
4057db96d56Sopenharmony_ci{
4067db96d56Sopenharmony_ci   from test_socket_ssl
4077db96d56Sopenharmony_ci   Memcheck:Cond
4087db96d56Sopenharmony_ci   fun:RSA_verify
4097db96d56Sopenharmony_ci}
4107db96d56Sopenharmony_ci
4117db96d56Sopenharmony_ci{
4127db96d56Sopenharmony_ci   from test_socket_ssl
4137db96d56Sopenharmony_ci   Memcheck:Value4
4147db96d56Sopenharmony_ci   fun:RSA_verify
4157db96d56Sopenharmony_ci}
4167db96d56Sopenharmony_ci
4177db96d56Sopenharmony_ci{
4187db96d56Sopenharmony_ci   from test_socket_ssl
4197db96d56Sopenharmony_ci   Memcheck:Value4
4207db96d56Sopenharmony_ci   fun:DES_set_key_unchecked
4217db96d56Sopenharmony_ci}
4227db96d56Sopenharmony_ci
4237db96d56Sopenharmony_ci{
4247db96d56Sopenharmony_ci   from test_socket_ssl
4257db96d56Sopenharmony_ci   Memcheck:Value4
4267db96d56Sopenharmony_ci   fun:DES_encrypt2
4277db96d56Sopenharmony_ci}
4287db96d56Sopenharmony_ci
4297db96d56Sopenharmony_ci{
4307db96d56Sopenharmony_ci   from test_socket_ssl
4317db96d56Sopenharmony_ci   Memcheck:Cond
4327db96d56Sopenharmony_ci   obj:/usr/lib/libssl.so.0.9.7
4337db96d56Sopenharmony_ci}
4347db96d56Sopenharmony_ci
4357db96d56Sopenharmony_ci{
4367db96d56Sopenharmony_ci   from test_socket_ssl
4377db96d56Sopenharmony_ci   Memcheck:Value4
4387db96d56Sopenharmony_ci   obj:/usr/lib/libssl.so.0.9.7
4397db96d56Sopenharmony_ci}
4407db96d56Sopenharmony_ci
4417db96d56Sopenharmony_ci{
4427db96d56Sopenharmony_ci   from test_socket_ssl
4437db96d56Sopenharmony_ci   Memcheck:Cond
4447db96d56Sopenharmony_ci   fun:BUF_MEM_grow_clean
4457db96d56Sopenharmony_ci}
4467db96d56Sopenharmony_ci
4477db96d56Sopenharmony_ci{
4487db96d56Sopenharmony_ci   from test_socket_ssl
4497db96d56Sopenharmony_ci   Memcheck:Cond
4507db96d56Sopenharmony_ci   fun:memcpy
4517db96d56Sopenharmony_ci   fun:ssl3_read_bytes
4527db96d56Sopenharmony_ci}
4537db96d56Sopenharmony_ci
4547db96d56Sopenharmony_ci{
4557db96d56Sopenharmony_ci   from test_socket_ssl
4567db96d56Sopenharmony_ci   Memcheck:Cond
4577db96d56Sopenharmony_ci   fun:SHA1_Update
4587db96d56Sopenharmony_ci}
4597db96d56Sopenharmony_ci
4607db96d56Sopenharmony_ci{
4617db96d56Sopenharmony_ci   from test_socket_ssl
4627db96d56Sopenharmony_ci   Memcheck:Value4
4637db96d56Sopenharmony_ci   fun:SHA1_Update
4647db96d56Sopenharmony_ci}
4657db96d56Sopenharmony_ci
4667db96d56Sopenharmony_ci{
4677db96d56Sopenharmony_ci   test_buffer_non_debug
4687db96d56Sopenharmony_ci   Memcheck:Addr4
4697db96d56Sopenharmony_ci   fun:PyUnicodeUCS2_FSConverter
4707db96d56Sopenharmony_ci}
4717db96d56Sopenharmony_ci
4727db96d56Sopenharmony_ci{
4737db96d56Sopenharmony_ci   test_buffer_non_debug
4747db96d56Sopenharmony_ci   Memcheck:Addr4
4757db96d56Sopenharmony_ci   fun:PyUnicode_FSConverter
4767db96d56Sopenharmony_ci}
4777db96d56Sopenharmony_ci
4787db96d56Sopenharmony_ci{
4797db96d56Sopenharmony_ci   wcscmp_false_positive
4807db96d56Sopenharmony_ci   Memcheck:Addr8
4817db96d56Sopenharmony_ci   fun:wcscmp
4827db96d56Sopenharmony_ci   fun:_PyOS_GetOpt
4837db96d56Sopenharmony_ci   fun:Py_Main
4847db96d56Sopenharmony_ci   fun:main
4857db96d56Sopenharmony_ci}
4867db96d56Sopenharmony_ci
4877db96d56Sopenharmony_ci# Additional suppressions for the unified decimal tests:
4887db96d56Sopenharmony_ci{
4897db96d56Sopenharmony_ci   test_decimal
4907db96d56Sopenharmony_ci   Memcheck:Addr4
4917db96d56Sopenharmony_ci   fun:PyUnicodeUCS2_FSConverter
4927db96d56Sopenharmony_ci}
4937db96d56Sopenharmony_ci
4947db96d56Sopenharmony_ci{
4957db96d56Sopenharmony_ci   test_decimal2
4967db96d56Sopenharmony_ci   Memcheck:Addr4
4977db96d56Sopenharmony_ci   fun:PyUnicode_FSConverter
4987db96d56Sopenharmony_ci}
4997db96d56Sopenharmony_ci
500