On 08/11/2018 15:33, Li Qiang wrote:
> Though there is no inconsistency between 'queues'
> and 'peers[i]' currently, this makes the 'peers[i] == NULL'
> meaningful.
>
> Signed-off-by: Li Qiang <liq3ea@163.com>
> ---
> hw/core/qdev-properties-system.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
> index 8b22fb51c9..74004a2f33 100644
> --- a/hw/core/qdev-properties-system.c
> +++ b/hw/core/qdev-properties-system.c
> @@ -257,7 +257,7 @@ static void set_netdev(Object *obj, Visitor *v, const char *name,
> Property *prop = opaque;
> NICPeers *peers_ptr = qdev_get_prop_ptr(dev, prop);
> NetClientState **ncs = peers_ptr->ncs;
> - NetClientState *peers[MAX_QUEUE_NUM];
> + NetClientState *peers[MAX_QUEUE_NUM] = {NULL};
> Error *local_err = NULL;
> int queues, err = 0, i = 0;
> char *str;
>
peers[] is initialized by qemu_find_net_clients_excep() until "queues"
entries. So between 0 and "queues" peers[] cannot be NULL.
IMHO, you should remove the "if (peers[i] == NULL)" block instead.
Thanks,
Laurent