On 01/23/2018 08:48 AM, Eric Blake wrote: > On 01/22/2018 10:40 PM, River Chiang wrote: >> Signed-off-by: River Chiang <riverchi...@gmail.com> >> >> ---------------------------------- qemu-img.c >> ---------------------------------- >> index 68b375f998..5ce594ea00 100644 >> @@ -2098,6 +2098,9 @@ static int img_convert(int argc, char **argv) >> if (s.src_num < 1) { >> error_report("Must specify image file name"); >> goto fail_getopt; >> + } else if (!strcmp(argv[optind], out_filename)) { >> + error_report("Override the input file with the output file"); >> + goto fail_getopt; > > Comparing names is too prone to false negatives. 'foo' and './foo' are > the same file, but your test won't catch it. Better might be checking > if stat() reports the same dev/inode pair for the two files. > > By the way, your patch is not in proper 'git send-email' format, which > makes it hard to test whether it even applies. More patch submission > hints at http://wiki.qemu.org/Contribute/SubmitAPatch
Also, is this something that our image locking patches should be able prevent automatically, without having to special case whether the command line arguments refer to the same file, by the two different command line arguments triggering conflicting locks? -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature