Commit 9ffc5412 authored by Steve French's avatar Steve French
Browse files

Check minimum response length on query_network_interface

parent b5b374ea
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -265,15 +265,18 @@ SMB3_request_interfaces(const unsigned int xid, struct cifs_tcon *tcon)
			FSCTL_QUERY_NETWORK_INTERFACE_INFO, true /* is_fsctl */,
			NULL /* no data input */, 0 /* no data input */,
			(char **)&out_buf, &ret_data_len);

	if ((rc == 0)  && (ret_data_len > 0)) {
	if (rc != 0)
		cifs_dbg(VFS, "error %d on ioctl to get interface list\n", rc);
	else if (ret_data_len < sizeof(struct network_interface_info_ioctl_rsp)) {
		cifs_dbg(VFS, "server returned bad net interface info buf\n");
		rc = -EINVAL;
	} else {
		/* Dump info on first interface */
		cifs_dbg(FYI, "Adapter Capability 0x%x\t",
			le32_to_cpu(out_buf->Capability));
		cifs_dbg(FYI, "Link Speed %lld\n",
			le64_to_cpu(out_buf->LinkSpeed));
	} else
		cifs_dbg(VFS, "error %d on ioctl to get interface list\n", rc);
	}

	return rc;
}