From: Keir Fraser Date: Fri, 4 Jun 2010 09:10:45 +0000 (+0100) Subject: xl: fix network-detach command line parsing X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~12023 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8ce5d64e3b61fdb271df656831a021ece5eabc74;p=xen.git xl: fix network-detach command line parsing Command line arguments start at argv[2]. Also, exit(1) on failure. Signed-off-by: Jeremy Fitzhardinge --- diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 54507e4583..0681b058cd 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -3508,11 +3508,11 @@ int main_networkdetach(int argc, char **argv) int opt; libxl_device_nic nic; - if (argc != 3) { + if (argc != 4) { help("network-detach"); exit(0); } - while ((opt = getopt(argc, argv, "hl")) != -1) { + while ((opt = getopt(argc, argv, "h")) != -1) { switch (opt) { case 'h': help("network-detach"); @@ -3523,24 +3523,25 @@ int main_networkdetach(int argc, char **argv) } } - if (domain_qualifier_to_domid(argv[1], &domid, 0) < 0) { - fprintf(stderr, "%s is an invalid domain identifier\n", argv[1]); + if (domain_qualifier_to_domid(argv[2], &domid, 0) < 0) { + fprintf(stderr, "%s is an invalid domain identifier\n", argv[2]); exit(1); } - if (!strchr(argv[2], ':')) { - if (libxl_devid_to_device_nic(&ctx, domid, argv[2], &nic)) { - fprintf(stderr, "Unknown device %s.\n", argv[2]); + if (!strchr(argv[3], ':')) { + if (libxl_devid_to_device_nic(&ctx, domid, argv[3], &nic)) { + fprintf(stderr, "Unknown device %s.\n", argv[3]); exit(1); } } else { - if (libxl_mac_to_device_nic(&ctx, domid, argv[2], &nic)) { - fprintf(stderr, "Unknown device %s.\n", argv[2]); + if (libxl_mac_to_device_nic(&ctx, domid, argv[3], &nic)) { + fprintf(stderr, "Unknown device %s.\n", argv[3]); exit(1); } } if (libxl_device_nic_del(&ctx, &nic, 1)) { fprintf(stderr, "libxl_device_nic_del failed.\n"); + exit(1); } exit(0); }