diff options
Diffstat (limited to 'xlators/protocol/server/src/server-handshake.c')
| -rw-r--r-- | xlators/protocol/server/src/server-handshake.c | 18 | 
1 files changed, 10 insertions, 8 deletions
diff --git a/xlators/protocol/server/src/server-handshake.c b/xlators/protocol/server/src/server-handshake.c index 8ce9f6b3a86..bc4d4afa253 100644 --- a/xlators/protocol/server/src/server-handshake.c +++ b/xlators/protocol/server/src/server-handshake.c @@ -537,11 +537,12 @@ server_setvolume (rpcsvc_request_t *req)          peerinfo = &req->conn->trans->peerinfo; -        ret = dict_set_static_ptr (params, "peer-info", peerinfo); -        if (ret < 0) -                gf_log (this->name, GF_LOG_DEBUG, -                        "failed to set peer-info"); - +        if (peerinfo) { +                ret = dict_set_static_ptr (params, "peer-info", peerinfo); +                if (ret < 0) +                        gf_log (this->name, GF_LOG_DEBUG, +                                "failed to set peer-info"); +        }          if (conf->auth_modules == NULL) {                  gf_log (this->name, GF_LOG_ERROR,                          "Authentication module not initialized"); @@ -553,7 +554,7 @@ server_setvolume (rpcsvc_request_t *req)          if (ret == AUTH_ACCEPT) {                  gf_log (this->name, GF_LOG_INFO,                          "accepted client from %s", -                        peerinfo->identifier); +                        (peerinfo)?peerinfo->identifier:"");                  op_ret = 0;                  conn->bound_xl = xl;                  ret = dict_set_str (reply, "ERROR", "Success"); @@ -563,7 +564,7 @@ server_setvolume (rpcsvc_request_t *req)          } else {                  gf_log (this->name, GF_LOG_ERROR,                          "Cannot authenticate client from %s", -                        peerinfo->identifier); +                        (peerinfo)? peerinfo->identifier:"<>");                  op_ret = -1;                  op_errno = EACCES;                  ret = dict_set_str (reply, "ERROR", "Authentication failed"); @@ -621,7 +622,8 @@ fail:          }          if (rsp.dict.dict_len) { -                rsp.dict.dict_val = GF_CALLOC (1, rsp.dict.dict_len, 0); +                rsp.dict.dict_val = GF_CALLOC (1, rsp.dict.dict_len, +                                               gf_server_mt_rsp_buf_t);                  if (rsp.dict.dict_val) {                          ret = dict_serialize (reply, rsp.dict.dict_val);                          if (ret < 0) {  | 
