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 libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list