diff options
author | Andrew Tridgell <tridge@samba.org> | 2007-01-22 04:04:36 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:43:57 -0500 |
commit | e04e99585cabd225c79cb492d02509514f030486 (patch) | |
tree | 96361d8d0977457e2c1b2d051b3e277ca7bd5dd7 /source4/cluster | |
parent | 4109edc5b651cddd15d1d3c1f84f93f9355bf8ee (diff) | |
download | samba-e04e99585cabd225c79cb492d02509514f030486.tar.gz samba-e04e99585cabd225c79cb492d02509514f030486.tar.bz2 samba-e04e99585cabd225c79cb492d02509514f030486.zip |
r20944: if a call has been destroyed before a reply comes in then discard the
reply
(This used to be commit 05d19af38c1e75ba65ed2755c6087df1f937ee2a)
Diffstat (limited to 'source4/cluster')
-rw-r--r-- | source4/cluster/ctdb/common/ctdb_call.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source4/cluster/ctdb/common/ctdb_call.c b/source4/cluster/ctdb/common/ctdb_call.c index 7883be8a0a..648b2b0bc9 100644 --- a/source4/cluster/ctdb/common/ctdb_call.c +++ b/source4/cluster/ctdb/common/ctdb_call.c @@ -390,6 +390,7 @@ void ctdb_reply_call(struct ctdb_context *ctdb, struct ctdb_req_header *hdr) TDB_DATA reply_data; state = idr_find(ctdb->idr, hdr->reqid); + if (state == NULL) return; reply_data.dptr = c->data; reply_data.dsize = c->datalen; @@ -415,6 +416,7 @@ void ctdb_reply_dmaster(struct ctdb_context *ctdb, struct ctdb_req_header *hdr) TDB_DATA data; state = idr_find(ctdb->idr, hdr->reqid); + if (state == NULL) return; data.dptr = c->data; data.dsize = c->datalen; @@ -450,6 +452,7 @@ void ctdb_reply_error(struct ctdb_context *ctdb, struct ctdb_req_header *hdr) struct ctdb_call_state *state; state = idr_find(ctdb->idr, hdr->reqid); + if (state == NULL) return; talloc_steal(state, c); @@ -471,6 +474,7 @@ void ctdb_reply_redirect(struct ctdb_context *ctdb, struct ctdb_req_header *hdr) struct ctdb_call_state *state; state = idr_find(ctdb->idr, hdr->reqid); + if (state == NULL) return; talloc_steal(state, c); |