Message ID | 1369923286-22260-3-git-send-email-stefanha@redhat.com |
---|---|
State | New |
Headers | show |
Stefan Hajnoczi <stefanha@redhat.com> writes: > If the user fails to specify 'chardev' or 'shm' then we cannot continue. > Exit right away so that we don't invoke shm_open(3) with a NULL pointer. > > It would be nice to replace exit(1) with error returns in the PCI device > .init() function, but leave that for another patch since exit(1) is > currently used elsewhere. > > Spotted by Coverity. > > Cc: Cam Macdonell <cam@cs.ualberta.ca> > Cc: qemu-stable@nongnu.org > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> > --- > hw/misc/ivshmem.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c > index a19a6d6..5658f73 100644 > --- a/hw/misc/ivshmem.c > +++ b/hw/misc/ivshmem.c > @@ -735,6 +735,7 @@ static int pci_ivshmem_init(PCIDevice *dev) > > if (s->shmobj == NULL) { > fprintf(stderr, "Must specify 'chardev' or 'shm' to ivshmem\n"); > + exit(1); > } > > IVSHMEM_DPRINTF("using shm_open (shm object = %s)\n", s->shmobj); Botching a hotplug of this device kills the VM. Nasty trap, but no worse than before.
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index a19a6d6..5658f73 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -735,6 +735,7 @@ static int pci_ivshmem_init(PCIDevice *dev) if (s->shmobj == NULL) { fprintf(stderr, "Must specify 'chardev' or 'shm' to ivshmem\n"); + exit(1); } IVSHMEM_DPRINTF("using shm_open (shm object = %s)\n", s->shmobj);
If the user fails to specify 'chardev' or 'shm' then we cannot continue. Exit right away so that we don't invoke shm_open(3) with a NULL pointer. It would be nice to replace exit(1) with error returns in the PCI device .init() function, but leave that for another patch since exit(1) is currently used elsewhere. Spotted by Coverity. Cc: Cam Macdonell <cam@cs.ualberta.ca> Cc: qemu-stable@nongnu.org Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> --- hw/misc/ivshmem.c | 1 + 1 file changed, 1 insertion(+)