summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/protocol/server/src/server.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c
index eed1d254a1d..dbafd8367c0 100644
--- a/xlators/protocol/server/src/server.c
+++ b/xlators/protocol/server/src/server.c
@@ -1154,7 +1154,9 @@ server_process_event_upcall (xlator_t *this, void *data)
list_for_each_entry (xprt, &conf->xprt_list, list) {
client = xprt->xl_private;
- if (strcmp(client->client_uid, client_uid))
+ /* 'client' is not atomically added during xprt entry
+ * addition to the list. */
+ if (!client || strcmp(client->client_uid, client_uid))
continue;
rpcsvc_request_submit(conf->rpc, xprt,