]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Reject any non-option command line arguments
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 16 May 2012 11:03:02 +0000 (12:03 +0100)
committerCole Robinson <crobinso@redhat.com>
Thu, 14 Jun 2012 22:22:51 +0000 (18:22 -0400)
Due to a bug in editing /etc/sysconfig/libvirtd, VDSM was causing
libvirt processes to run with the following command line args

   /usr/sbin/libvirtd --listen '#' 'by vdsm'

While it correctly rejects any invalid option flags, libvirtd
was not rejecting any non-option command line arguments

* daemon/libvirtd.c: Reject non-option argv
(cherry picked from commit 51bcb09fe946c01ff7e0f94fee0be9d6411ca2ad)

daemon/libvirtd.c

index 19729f478d85dec89979a7e94ab7dcfc9713aaca..b20439b6f4a0d55befad77aaff2ff4b44bff6e2b 100644 (file)
@@ -1383,6 +1383,12 @@ int main(int argc, char **argv) {
         }
     }
 
+    if (optind != argc) {
+        fprintf(stderr, "%s: unexpected, non-option, command line arguments\n",
+                argv[0]);
+        exit(EXIT_FAILURE);
+    }
+
     if (!(config = daemonConfigNew(privileged))) {
         VIR_ERROR(_("Can't create initial configuration"));
         exit(EXIT_FAILURE);