lib/vmd: check header_type after the vmd_adapter structure is verified
First check both vmd_pci_device for not being a NULL, same as vmd_adapter structure being present. Otherwise dev was dereferenced before checking for NULL. Change-Id: I3719f33c1762f789b0eb63b0f2ddce8258843ded Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/462509 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Wojciech Malikowski <wojciech.malikowski@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
ba323d44ca
commit
8500db5ee0
@ -173,7 +173,7 @@ vmd_assign_base_addrs(struct vmd_pci_device *dev)
|
||||
{
|
||||
uint16_t mem_base = 0, mem_limit = 0;
|
||||
unsigned char mem_attr = 0;
|
||||
int last = dev->header_type ? 2 : 6;
|
||||
int last;
|
||||
struct vmd_adapter *vmd = NULL;
|
||||
bool ret_val = false;
|
||||
uint32_t bar_value;
|
||||
@ -189,6 +189,7 @@ vmd_assign_base_addrs(struct vmd_pci_device *dev)
|
||||
|
||||
vmd_align_base_addrs(vmd, ONE_MB);
|
||||
|
||||
last = dev->header_type ? 2 : 6;
|
||||
for (int i = 0; i < last; i++) {
|
||||
bar_value = dev->header->zero.BAR[i];
|
||||
dev->header->zero.BAR[i] = ~(0U);
|
||||
|
Loading…
Reference in New Issue
Block a user