[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xl: print BDF parse errors
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1275030735 -3600 # Node ID d86065bbb312cdf180a78ddecc7da18659ef6570 # Parent 5f6b780d09260c83a9a156bbd6c8abdefd5eb17c xl: print BDF parse errors When parsing BDFs for pci-attach/detach, check the return of scanf rather than operating on random devices. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> --- tools/libxl/xl_cmdimpl.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff -r 5f6b780d0926 -r d86065bbb312 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Fri May 28 08:11:47 2010 +0100 +++ b/tools/libxl/xl_cmdimpl.c Fri May 28 08:12:15 2010 +0100 @@ -1519,7 +1519,10 @@ void pcidetach(char *dom, char *bdf) find_domain(dom); memset(&pcidev, 0x00, sizeof(pcidev)); - sscanf(bdf, PCI_BDF, &domain, &bus, &dev, &func); + if (sscanf(bdf, PCI_BDF, &domain, &bus, &dev, &func) != 4) { + fprintf(stderr, "pci-detach: malformed BDF specification \"%s\"\n", bdf); + exit(2); + } libxl_device_pci_init(&pcidev, domain, bus, dev, func, 0); libxl_device_pci_remove(&ctx, domid, &pcidev); } @@ -1558,7 +1561,10 @@ void pciattach(char *dom, char *bdf, cha find_domain(dom); memset(&pcidev, 0x00, sizeof(pcidev)); - sscanf(bdf, PCI_BDF, &domain, &bus, &dev, &func); + if (sscanf(bdf, PCI_BDF, &domain, &bus, &dev, &func) != 4) { + fprintf(stderr, "pci-attach: malformed BDF specification \"%s\"\n", bdf); + exit(2); + } libxl_device_pci_init(&pcidev, domain, bus, dev, func, 0); libxl_device_pci_add(&ctx, domid, &pcidev); } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |