diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 800829eaea74dd4e6785c31f4b9079ae6e24e185..a1d4a75747457c3255d57cad6944a8676fa88d57 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -7357,6 +7357,13 @@ cmdCPUStats(vshControl *ctl, const vshCmd *cmd) /* get number of cpus on the node */ if ((max_id = virDomainGetCPUStats(dom, NULL, 0, 0, 0, 0)) < 0) goto failed_stats; + + if (cpu >= max_id) { + vshError(ctl, "Start CPU %d is out of range (min: 0, max: %d)", + cpu, max_id - 1); + goto cleanup; + } + if (show_count < 0 || show_count > max_id) { if (show_count > max_id) vshPrint(ctl, _("Only %d CPUs available to show\n"), max_id);