summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/misc/valgrind-suppress.txt
blob: 0eb75988a4e8afb4f9bc3fd2e1831914ed59bcb8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# stashFile in save_game() never gets freed since the process exits
# before save_game() returns.  Wildcards at start and end of function
# names since they get mangled by the C++ compiler and mecheck goes
# by the mangled names.
#
# Also, the first "obj:*" is for the new() operator, which gets mangled
# in the valgrind library, and might be mangled differently in different
# version of valgrind.
#
# NOTE: The number of copies of "obj:*libstdc++*" might need to be changed
# for different versions of the C++ library.
{
	save_game_savedir_leak
	Memcheck:Leak
	obj:*
	obj:*libstdc++*
	obj:*libstdc++*
	obj:*libstdc++*
	obj:*libstdc++*
	fun:*get_savedir_filename*
	fun:*save_game*
}

# Not sure what causes escape_path_spaces() in save_game() to leak, but
# since we're going to be exiting right away it doesn't really matter.
{
	save_game_escape_path_leak
	Memcheck:Leak
	obj:*
	obj:*libstdc++*
	obj:*libstdc++*
	obj:*libstdc++*
	fun:*escape_path_spaces*
	fun:*save_game*
}

# The error variable in end() is stuff.cc never gets freed since
# exit() is called before end() returns.  See above suppression for more
# notes
{
	end_error_leak
	Memcheck:Leak
	obj:*
	obj:*libstdc++*
	obj:*libstdc++*
	obj:*libstdc++*
	obj:*libstdc++*
	obj:*libstdc++*
	fun:*end*
}

# The Berkeley DB code sometimes writes the contents of an unitialized buffer
# when the save/db/ and save/des/ files are being generated.
{
	berkeley_db_write
	Memcheck:Param
	pwrite64(buf)
	fun:pwrite64
	fun:__os_io
	fun:__memp_pgwrite
	fun:__memp_bhwrite
	fun:__memp_sync_int
	fun:__memp_fsync
	fun:__db_sync
}

# An SDL "conditional jump or move" error, with the unitialized value
# being supplied by Nvidia's OpenGL library.
{
	tiles_SDL_Nvida_GL_cond
	Memcheck:Cond
    fun:X11_SetKeyboardState
	fun:X11_DispatchEvent
	obj:*
}