On Tue, Oct 10, 2017 at 05:05:33PM +0200, Andrea Bolognani wrote:
On Tue, 2017-10-10 at 15:49 +0100, Daniel P. Berrange wrote:
> I think rather than trying to fix up the assumption about
> machine being non-NULL, we should restructure the ARGV
> parsing into we need a 2 pass process.
>
> In the first pass only look for the -machine arg. If no
> -machine arg is given, we should fill in the default machine
> for that emulator.
I can do this...
> In the second pass process the rest of the ARGV, whereupon
> we have a valid assumption that machine is non-NULL.
... but I'm not sure doing this is a good idea.
Wouldn't it be much safer to leave the newly-added NULL checks
in place so that the qemuDomainMachineIs*() functions are locally
correct instead of relying on external guarantees in order not
to crash on the user?
Are these qemuDomainMachineIs* functions the only places that makes
assumptions about machine being non-NULL though ? I wouldn't want to
encourage the idea that it is OK to have a NULL machine value, because
that would just push crashes to elsewhere in the code if people rely
on it.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|