Commit ce61b605 authored by Namjae Jeon's avatar Namjae Jeon Committed by Steve French
Browse files

ksmbd: the buffer of smb2 query dir response has at least 1 byte



When STATUS_NO_MORE_FILES status is set to smb2 query dir response,
->StructureSize is set to 9, which mean buffer has 1 byte.
This issue occurs because ->Buffer[1] in smb2_query_directory_rsp to
flex-array.

Fixes: eb3e28c1 ("smb3: Replace smb2pdu 1-element arrays with flex-arrays")
Cc: stable@vger.kernel.org # v6.1+
Signed-off-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent b311c1b4
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -4409,7 +4409,8 @@ int smb2_query_dir(struct ksmbd_work *work)
		rsp->OutputBufferLength = cpu_to_le32(0);
		rsp->Buffer[0] = 0;
		rc = ksmbd_iov_pin_rsp(work, (void *)rsp,
				       sizeof(struct smb2_query_directory_rsp));
				       offsetof(struct smb2_query_directory_rsp, Buffer)
				       + 1);
		if (rc)
			goto err_out;
	} else {