mirror_corosync/exec
Jan Friesse e8000c7b9b objdb: save copy of handles in object_find_create
Following situation could happen:
- process 1 thru confdb creates find handle
- calls find iteration once
- different process 2 deletes object pointed by process 1 iterator
- process 1 calls iteration again ->
  object_find_instance->find_child_list is invalid pointer

-> segfault

Now object_find_create creates array of matching object handlers and
object_find_next uses that array together with check for name. This
prevents situation where between steps 2 and 3 new object is created
with different name but sadly with same handle.

Also good to note that this patch is more or less quick hack rather
then proper solution. Real proper solution is to not use pointers
and rather use handles everywhere. This is big TODO.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Steven Dake <sdake@redhat.com>
2011-06-22 11:13:12 +02:00
..
.gitignore Add .gitignore files. 2010-10-21 07:43:46 -07:00
apidef.c add __attribute__((noreturn)) to functions that always exit. 2010-05-19 04:34:53 +00:00
apidef.h remove empty lines at end-of-file 2009-04-22 08:04:06 +00:00
coroipcs.c coroipcs: init buf in coroipcs_handler_dispatch 2011-06-03 11:09:01 +02:00
coroparse.c coroparse: don't leak dirent 2011-06-03 11:00:56 +02:00
coropoll.c Corosync: Fix build when done with --enable-fatal-warnings 2011-05-27 13:29:12 +02:00
crypto.c crypto: rng_make_prng prevent buf overflow 2011-06-10 12:12:05 +02:00
crypto.h remove all trailing blanks 2009-04-22 08:03:55 +00:00
evil.c pass transitional members into the sync_init() callbacks. 2010-02-04 00:18:51 +00:00
evil.h Follow synchronization model of event service so corosync without openais 2009-06-28 04:50:18 +00:00
fsm.h Add a Finite State Machine.(fsm.h) 2010-09-27 21:11:04 +00:00
logsys.c logsys: _logsys_wthread_create never returns != 0 2011-06-03 10:59:17 +02:00
main.c logsys: When corosync is compiled with --enable-small-memory-footprint, also reduce the size of the logsys SHM 2011-05-27 13:45:27 +02:00
main.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
mainconfig.c mainconfig: Check retval of logsys_format_set 2011-06-06 10:02:34 +02:00
mainconfig.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
Makefile.am Add the UDPU transport 2010-11-18 14:21:30 -07:00
objdb.c objdb: save copy of handles in object_find_create 2011-06-22 11:13:12 +02:00
quorum.c don't include <signal.h> when it's not used 2009-05-18 16:41:46 +00:00
quorum.h quorum.h (quorum_set_quorate_fn_t): make first param const 2009-04-08 06:43:03 +00:00
schedwrk.c Add schedwrk_create_nolock function 2010-01-22 09:45:29 +00:00
schedwrk.h Add schedwrk_create_nolock function 2010-01-22 09:45:29 +00:00
service.c Add monitoring and watchdog services. 2010-09-27 21:12:03 +00:00
service.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
sync.c SYNC: always call sync_aborted() in sync_confchg_fn(). 2010-07-17 04:59:40 +00:00
sync.h pass transitional members into the sync_init() callbacks. 2010-02-04 00:18:51 +00:00
syncv2.c Fix some "set but not used" warnings [-Wunused-but-set-variable] 2011-03-16 07:13:42 +11:00
syncv2.h pass transitional members into the sync_init() callbacks. 2010-02-04 00:18:51 +00:00
timer.c Add calls to pthread_attr_destroy(). 2011-02-21 12:14:07 -07:00
timer.h Support for monotime timer 2009-07-27 10:12:55 +00:00
tlist.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
totemconfig.c totemconfig: discard check of objdb_get_string ret 2011-06-03 10:58:15 +02:00
totemconfig.h remove all trailing blanks 2009-04-22 08:03:55 +00:00
totemiba.c totemsrp: Remove recv_flush code 2011-03-24 09:21:27 -07:00
totemiba.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
totemip.c Fix problem where unaligned totemip address access would result in bus error on non-unaligned-safe architectures. 2011-04-14 17:22:02 -07:00
totemmrp.c Add the UDPU transport 2010-11-18 14:21:30 -07:00
totemmrp.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
totemnet.c totemsrp: Remove recv_flush code 2011-03-24 09:21:27 -07:00
totemnet.h totemsrp: Remove recv_flush code 2011-03-24 09:21:27 -07:00
totempg.c iazc: Reduce number of mem alloc and memcpy 2011-05-30 09:06:35 +02:00
totemrrp.c Fix tyop in RRP faulty error messages 2011-04-11 02:00:18 -05:00
totemrrp.h totemsrp: Remove recv_flush code 2011-03-24 09:21:27 -07:00
totemsrp.c RRP: Fix ring initialization issue for UDPU mode 2011-06-16 17:23:36 -07:00
totemsrp.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
totemudp.c totemudp: memset of proper size 2011-06-03 11:09:27 +02:00
totemudp.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
totemudpu.c totemsrp: Remove recv_flush code 2011-03-24 09:21:27 -07:00
totemudpu.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
tsafe.c Corosync: Fix build when done with --enable-fatal-warnings 2011-05-27 13:29:12 +02:00
tsafe.h Add tsafe (thread safe) file to catch unsafe function calls. 2010-03-03 01:27:37 +00:00
util.c STATS: add the service name to the connection name. 2011-03-29 13:48:13 +11:00
util.h Corosync: Fix build when done with --enable-fatal-warnings 2011-05-27 13:29:12 +02:00
vsf_quorum.c Reduce the number of times the quorum message is displayed. 2010-02-26 15:30:38 +00:00
vsf_ykd.c Fix a crash in YKD 2010-04-20 07:27:14 +00:00
vsf.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
wthread.c Rename queue datastructure to cs_queue data structure because some fail 2009-06-07 00:47:56 +00:00
wthread.h remove all trailing blanks 2009-04-22 08:03:55 +00:00