@@ -718,23 +718,30 @@ static int smb311_decode_neg_context(struct smb2_negotiate_rsp *rsp,
if (clen > len_of_ctxts)
break;
- if (pctx->ContextType == SMB2_PREAUTH_INTEGRITY_CAPABILITIES)
+ switch (pctx->ContextType) {
+ case SMB2_PREAUTH_INTEGRITY_CAPABILITIES:
decode_preauth_context(
(struct smb2_preauth_neg_context *)pctx);
- else if (pctx->ContextType == SMB2_ENCRYPTION_CAPABILITIES)
+ break;
+ case SMB2_ENCRYPTION_CAPABILITIES:
rc = decode_encrypt_ctx(server,
(struct smb2_encryption_neg_context *)pctx);
- else if (pctx->ContextType == SMB2_COMPRESSION_CAPABILITIES)
+ break;
+ case SMB2_COMPRESSION_CAPABILITIES:
decode_compress_ctx(server,
(struct smb2_compression_capabilities_context *)pctx);
- else if (pctx->ContextType == SMB2_POSIX_EXTENSIONS_AVAILABLE)
+ break;
+ case SMB2_POSIX_EXTENSIONS_AVAILABLE:
server->posix_ext_supported = true;
- else if (pctx->ContextType == SMB2_SIGNING_CAPABILITIES)
+ break;
+ case SMB2_SIGNING_CAPABILITIES:
decode_signing_ctx(server,
(struct smb2_signing_capabilities *)pctx);
- else
+ break;
+ default:
cifs_server_dbg(VFS, "unknown negcontext of type %d ignored\n",
le16_to_cpu(pctx->ContextType));
+ }
if (rc)
break;
Easier to read than nested if/else statements Signed-off-by: Volker Lendecke <vl@samba.org> --- fs/cifs/smb2pdu.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-)