1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/ctdb
Martin Schwenke 716f52f68b ctdb-recoverd: Avoid dereferencing NULL rec->nodemap
Inside the nested event loop in ctdb_ctrl_getnodemap(), various
asynchronous handlers may dereference rec->nodemap, which will be
NULL.

One example is lost_reclock_handler(), which causes rec->nodemap to be
unconditionally dereferenced in list_of_nodes() via this call chain:

  list_of_nodes()
  list_of_active_nodes()
  set_recovery_mode()
  force_election()
  lost_reclock_handler()

Instead of attempting to trace all of the cases, just avoid leaving
rec->nodemap set to NULL.  Attempting to use an old value is generally
harmless, especially since it will be the same as the new value in
most cases.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14324

Reported-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>

Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Tue Mar 24 01:22:45 UTC 2020 on sn-devel-184
2020-03-24 01:22:45 +00:00
..
client ctdb/client/client.h: typo fixes 2019-10-31 00:43:38 +00:00
cluster ctdb-cluster: CID 1435726: NULL pointer dereference 2019-06-05 10:25:50 +00:00
common ctdb-common: Remove signed/unsigned comparisons 2020-02-18 02:56:38 +00:00
config ctdb-scripts: Change CTDB_SERVICE_NMB default value to 'nmb' 2020-02-27 06:07:41 +00:00
database ctdb-database: Fix signed/unsigned comparison by casting 2019-07-05 05:03:24 +00:00
doc ctdb-docs: Improve recovery lock documentation 2020-03-09 02:27:18 +00:00
event ctdb-common: Add section to group commands in cmdline 2019-11-14 10:38:34 +00:00
failover ctdb-failover: Add failover configuration options 2018-08-24 10:59:21 +02:00
ib ctdb-daemon: Rename ctdb_context private_data to transport_data 2019-11-14 02:20:46 +00:00
include ctdb-daemon: Remove more unused old client database functions 2020-03-23 23:45:38 +00:00
packaging/RPM ctdb-packaging: Test package requires tcpdump 2019-03-15 05:17:14 +00:00
protocol ctdb-protocol: Add control flag CTDB_CTRL_FLAG_ATTACH_RECOVERY 2020-03-23 23:45:37 +00:00
server ctdb-recoverd: Avoid dereferencing NULL rec->nodemap 2020-03-24 01:22:45 +00:00
tcp ctdb-tcp: Do not stop outbound connection in ctdb_tcp_node_connect() 2020-03-12 05:29:20 +00:00
tests ctdb-tests: Use built-in hexdump() in system socket tests 2020-03-10 09:17:12 +00:00
tools ctdb-tools: Allow shorter runtime limit to be specified 2020-02-10 04:07:39 +00:00
utils ctdb/utils/smnotify/smnotify.c: typo fixes 2019-10-31 00:43:39 +00:00
.bzrignore
.gitignore ctdb-build: use a fixed ctdb_version.h using SAMBA_VERSION_STRING 2019-03-15 05:17:14 +00:00
configure build: Move python detection back into waf (instead of in configure and Makefile) 2018-12-14 14:40:19 +01:00
configure.rpm ctdb-packaging: Update library versions to upstream versions 2018-12-18 07:12:09 +01:00
COPYING
Makefile build: Move python detection back into waf (instead of in configure and Makefile) 2018-12-14 14:40:19 +01:00
README doc: README - add information about CTDB, license and website 2012-10-22 17:39:49 +11:00
wscript build: Remove workaround for missing os.path.relpath in Python < 2.6 2019-11-13 08:42:30 +00:00

This is the release version of CTDB, a clustered implementation of TDB
database used by Samba and other projects to store temporary data.

This software is freely distributable under the GNU public license,
a copy of which you should have received with this software (in a file
called COPYING).

For documentation on CTDB, please visit CTDB website http://ctdb.samba.org.