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:*
}
|