On Tue, Dec 18, 2012 at 10:24:06AM +0100, Jiri Denemark wrote:
> On Tue, Dec 11, 2012 at 14:53:36 +0000, Daniel P. Berrange wrote:
> > +virArch virArchFromHost(void)
> > +{
> > + struct utsname ut;
> > + virArch arch;
> > +
> > + uname(&ut);
> > +
> > + /* Some special cases we need to handle first
> > + * for non-canonical names */
> > + if (ut.machine[0] == 'i' &&
> > + ut.machine[2] == '8' &&
> > + ut.machine[3] == '6' &&
> > + ut.machine[4] == '\0') {
> > + arch = VIR_ARCH_I686;
>
> This could access undefined memory in the unlikely case of ut.machine
> being just "i". Insert the ut.machine[1] != '\0' test to match the
> original code in qemu_command.c.
I decided it is better just to add a 'strlen(ut.machine) == 4'
test as the first thing in the conditional
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list