]> granicus.if.org Git - libtirpc/commit
Race conditions in getnetconfig
authorSigned-off-by: Susant Sahani <ssahani@redhat.com>
Mon, 25 Nov 2013 18:48:32 +0000 (13:48 -0500)
committerSteve Dickson <steved@redhat.com>
Mon, 25 Nov 2013 19:10:49 +0000 (14:10 -0500)
commitb8662e8079b986630575aa088c402643a3bda628
treec382f8d5aa0573a29c55e69c0c5bb4199acede61
parent00e090f5a0741a72e7e01f52120bf5bb04e74d49
Race conditions in getnetconfig

The clnt_* functions are *not* thread safe. Race conditions are caused
by the functions setnetconfig , getnetconfig, endnetconfig and
getnetconfigent that accesses global static data nc_file and ni which
are defined in the file getnetconfig are *not* protected by any mutex.
When more than one thread access them the variables become a nonlocal
side effect . These race conditions causing process to give undesired
behavior and leading to crash on file operations mostly on fclose. By
introducing the mutex nc_db_lock the netconfig database is synchronized
and prevented from crash.

Signed-off-by: Susant Sahani <ssahani@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
src/getnetconfig.c
src/mt_misc.c