Переглянути джерело

tools/kvm_stat: handle invalid regular expressions

Passing an invalid regular expression on the command line results in a
traceback. Note that interactive specification of invalid regular
expressions is not affected
To reproduce, run "kvm_stat -f '*'".

Signed-off-by: Stefan Raspl <raspl@linux.vnet.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Stefan Raspl 7 роки тому
батько
коміт
08e20a6300
1 змінених файлів з 7 додано та 0 видалено
  1. 7 0
      tools/kvm/kvm_stat/kvm_stat

+ 7 - 0
tools/kvm/kvm_stat/kvm_stat

@@ -1521,6 +1521,13 @@ Press any other key to refresh statistics immediately.
                          callback=cb_guest_to_pid,
                          callback=cb_guest_to_pid,
                          )
                          )
     (options, _) = optparser.parse_args(sys.argv)
     (options, _) = optparser.parse_args(sys.argv)
+    try:
+        # verify that we were passed a valid regex up front
+        re.compile(options.fields)
+    except re.error:
+        sys.exit('Error: "' + options.fields + '" is not a valid regular '
+                 'expression')
+
     return options
     return options