mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-08 00:16:11 +00:00
169 lines
3.7 KiB
Plaintext
169 lines
3.7 KiB
Plaintext
# This is a real problem in the Solaris libc. It is caused by a read past the
|
|
# FILE structure. It's an intentional hack to differentiate between two file
|
|
# structures, FILE and xFILE.
|
|
{
|
|
Solaris:sprintf
|
|
Memcheck:Cond
|
|
fun:getxfdat
|
|
fun:_set_memstream
|
|
fun:sprintf
|
|
}
|
|
|
|
# The same problem as above.
|
|
{
|
|
Solaris:snprintf
|
|
Memcheck:Cond
|
|
fun:getxfdat
|
|
fun:_set_memstream
|
|
fun:snprintf
|
|
}
|
|
|
|
# The same problem as above.
|
|
{
|
|
Solaris:snprintf
|
|
Memcheck:Cond
|
|
fun:getxfdat
|
|
fun:_realbufend
|
|
fun:_ndoprnt
|
|
fun:snprintf
|
|
}
|
|
|
|
# The same problem as above.
|
|
{
|
|
Solaris:vsnprintf
|
|
Memcheck:Cond
|
|
fun:getxfdat
|
|
fun:_set_memstream
|
|
fun:vsnprintf
|
|
}
|
|
|
|
# The same problem as above.
|
|
{
|
|
Solaris:vsnprintf
|
|
Memcheck:Cond
|
|
fun:getxfdat
|
|
fun:_realbufend
|
|
fun:_ndoprnt
|
|
fun:vsnprintf
|
|
}
|
|
|
|
#----------------------------------------------------------------------------#
|
|
# Solaris libc doesn't deallocate I/O buffers on program exit.
|
|
{
|
|
Solaris:file_buffer_malloc
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
fun:_findbuf
|
|
obj:/lib/libc.so.1
|
|
obj:/lib/libc.so.1
|
|
}
|
|
|
|
#----------------------------------------------------------------------------#
|
|
# Solaris libc doesn't deallocate netconfig list pointed to by netpp.
|
|
# This includes other allocated structures and strings contained there.
|
|
{
|
|
Solaris:setnetconfig-fgetnetconfig
|
|
Memcheck:Leak
|
|
match-leak-kinds: reachable
|
|
fun:calloc
|
|
fun:fgetnetconfig
|
|
fun:getnetlist
|
|
fun:setnetconfig
|
|
}
|
|
|
|
# The same problem as above.
|
|
{
|
|
Solaris:setnetconfig-fgetnetconfig-getlookups-strdup
|
|
Memcheck:Leak
|
|
match-leak-kinds: reachable
|
|
fun:malloc
|
|
fun:strdup
|
|
fun:getlookups
|
|
fun:fgetnetconfig
|
|
fun:getnetlist
|
|
fun:setnetconfig
|
|
}
|
|
|
|
# The same problem as above.
|
|
{
|
|
Solaris:setnetconfig-fgetnetconfig-getlookups-malloc
|
|
Memcheck:Leak
|
|
match-leak-kinds: reachable
|
|
fun:malloc
|
|
fun:getlookups
|
|
fun:fgetnetconfig
|
|
fun:getnetlist
|
|
fun:setnetconfig
|
|
}
|
|
|
|
# The same problem as above.
|
|
{
|
|
Solaris:setnetconfig-fgetnetconfig-gettoken
|
|
Memcheck:Leak
|
|
match-leak-kinds: reachable
|
|
fun:malloc
|
|
fun:strdup
|
|
fun:gettoken
|
|
fun:fgetnetconfig
|
|
fun:getnetlist
|
|
fun:setnetconfig
|
|
}
|
|
|
|
# The same problem as above.
|
|
{
|
|
Solaris:setnetconfig-getnetlist
|
|
Memcheck:Leak
|
|
match-leak-kinds: reachable
|
|
fun:malloc
|
|
fun:getnetlist
|
|
fun:setnetconfig
|
|
}
|
|
|
|
#----------------------------------------------------------------------------#
|
|
# Solaris libc doesn't deallocate static strings netid_tcp_main
|
|
# and netid_tcp_udp allocated in __rpc_getconfip.
|
|
{
|
|
Solaris:__rpc_getconfip-netid_tcp+udp_main
|
|
Memcheck:Leak
|
|
match-leak-kinds: reachable
|
|
fun:malloc
|
|
fun:strdup
|
|
fun:__rpc_getconfip
|
|
}
|
|
|
|
#----------------------------------------------------------------------------#
|
|
# Solaris libc doesn't deallocate global variable global_gt.
|
|
{
|
|
Solaris:dgettext
|
|
Memcheck:Leak
|
|
match-leak-kinds: reachable
|
|
fun:calloc
|
|
fun:dgettext
|
|
}
|
|
|
|
#----------------------------------------------------------------------------#
|
|
# Solaris libc reinitializes mutex udp->ld_lock in the child's post-fork
|
|
# handler.
|
|
{
|
|
Solaris:postfork_child_mutex_reinit
|
|
drd:MutexErr
|
|
fun:mutex_init
|
|
fun:postfork1_child
|
|
fun:forkx
|
|
}
|
|
|
|
#----------------------------------------------------------------------------#
|
|
# Solaris libc implements pthread barrier with a mutex and a condition
|
|
# variable. In pthread_barrier_wait(), the last thread returning with
|
|
# SERIAL_THREAD first unlocks the mutex and then broadcasts the condition
|
|
# variable. This is ok here because that mutex does not have any priorities
|
|
# associated, therefore no unpredicatble scheduling behaviour can occurr.
|
|
{
|
|
Solaris:pthread_barrier_wait
|
|
Helgrind:Misc
|
|
fun:pthread_cond_broadcast_WRK
|
|
fun:cond_broadcast
|
|
fun:pthread_barrier_wait
|
|
}
|
|
|