Commit ab4ad35e authored by Marios Makassikis's avatar Marios Makassikis Committed by Steve French
Browse files

smb: server: handle readdir_info_level_struct_sz() error



early exit in smb2_populate_readdir_entry() if the requested info_level
is unknown.

Signed-off-by: default avatarMarios Makassikis <mmakassikis@freebox.fr>
Acked-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 254f4963
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -3946,7 +3946,13 @@ static int smb2_populate_readdir_entry(struct ksmbd_conn *conn, int info_level,
		goto free_conv_name;
	}

	struct_sz = readdir_info_level_struct_sz(info_level) + conv_len;
	struct_sz = readdir_info_level_struct_sz(info_level);
	if (struct_sz == -EOPNOTSUPP) {
		rc = -EINVAL;
		goto free_conv_name;
	}

	struct_sz += conv_len;
	next_entry_offset = ALIGN(struct_sz, KSMBD_DIR_INFO_ALIGNMENT);
	d_info->last_entry_off_align = next_entry_offset - struct_sz;