|
|
------------------------------------------------------------
revno: 687
revision-id:tridge@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
parent: tridge@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
committer: Andrew Tridgell <tridge@xxxxxxxxx>
branch nick: tridge.stable
timestamp: Thu 2007-12-27 10:07:01 +1100
message:
fixed segv on failed ctdb_ctrl_getnodemap
modified:
server/ctdb_recoverd.c recoverd.c-20070503213540-bvxuyd9jm1f7ig90-1
=== modified file 'server/ctdb_recoverd.c'
--- a/server/ctdb_recoverd.c 2007-12-03 04:45:53 +0000
+++ b/server/ctdb_recoverd.c 2007-12-26 23:07:01 +0000
@@ -1152,6 +1152,7 @@
ret = ctdb_ctrl_getnodemap(ctdb, CONTROL_TIMEOUT(), CTDB_CURRENT_NODE,
rec, &nodemap);
if (ret != 0) {
+ DEBUG(0,(__location__ " unable to get election data\n"));
return;
}
@@ -1399,6 +1400,12 @@
CTDB_NO_MEMORY_VOID(ctdb, tmp_ctx);
ret = ctdb_ctrl_getnodemap(ctdb, CONTROL_TIMEOUT(), CTDB_CURRENT_NODE,
tmp_ctx, &nodemap);
+ if (ret != 0) {
+ DEBUG(0,(__location__ "ctdb_ctrl_getnodemap failed in
monitor_handler\n"));
+ talloc_free(tmp_ctx);
+ return;
+ }
+
for (i=0;i<nodemap->num;i++) {
if (nodemap->nodes[i].pnn == c->pnn) break;
|
|