On 11/05/2013 11:43 AM, Laine Stump wrote:
> + goto error;
> + }
>
> - (*virtual_functions)[*num_virtual_functions] = config_addr;
> - (*num_virtual_functions)++;
> + if ((*virtual_functions)[virtfnIndex]) {
> + virReportError(VIR_ERR_INTERNAL_ERROR,
> + _("Virtual function link name '%s' "
> + "generates duplicate index %zu "
> + "in physical function directory '%s'"),
> + virtfnNames[i], nVirtfnNames, sysfs_path);
> + goto error;
> + }
> +
> + if (virPCIGetDeviceAddressFromSysfsLink(device_link, &config_addr) !=
> + SRIOV_FOUND) {
> + VIR_WARN("Failed to get SRIOV function from device link '%s'",
> + device_link);
> VIR_FREE(device_link);
> + continue;
(*virtual_functions)[virtfnIndex] will be left NULL here.
virNetDevGetVirtualFunctions looks like it would segfault on such array.
> }
> +
> + VIR_DEBUG("Found virtual function %d", virtfnIndex);
> + (*virtual_functions)[virtfnIndex] = config_addr;
> + VIR_FREE(device_link);
> }
>
Jan
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
