net: fix assertion failure when ipv6-prefixlen is not a number
commit21c520d0c1ab64770f09f6fbf5952807e856e903
authorStefano Garzarella <sgarzare@redhat.com>
Fri, 17 May 2019 13:47:45 +0000 (17 15:47 +0200)
committerJason Wang <jasowang@redhat.com>
Tue, 2 Jul 2019 02:21:06 +0000 (2 10:21 +0800)
treea3a9559820bca50f091c72c5a619f59b73bbf46e
parent59377b4a4b6830b71ea937aaf25bfca941cad264
net: fix assertion failure when ipv6-prefixlen is not a number

If 'ipv6-prefixlen' is not a number, the current behaviour
produces an assertion failure:
    $ qemu-system-x86_64 -net user,ipv6-net=feca::0/a
    qemu-system-x86_64: qemu/util/qemu-option.c:1175: qemu_opts_foreach:
    Assertion `!errp || !*errp' failed.
    Aborted (core dumped)

This patch fixes it, jumping to the end of the function when
'ipv6-prefixlen' is not a number, and printing the more friendly
message:
    $ qemu-system-x86_64 -net user,ipv6-net=feca::0/a
    qemu-system-x86_64: Parameter 'ipv6-prefixlen' expects a number

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
net/net.c