On Wed, Aug 27, 2014 at 03:15:35PM +0200, Erik Skultety wrote:
resolves
https://bugzilla.redhat.com/show_bug.cgi?id=1132305
---
tools/virsh.c | 14 ++++++++++----
tools/virsh.pod | 6 ++++--
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/tools/virsh.c b/tools/virsh.c
index 30a84c1..f9b3991 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -3472,8 +3472,11 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
case 'k':
if (virStrToLong_i(optarg, NULL, 0, &keepalive) < 0 ||
keepalive < 0) {
- vshError(ctl, _("option %s requires a positive numeric
argument"),
- longindex == -1 ? "-k" :
"--keepalive-interval");
+ vshError(ctl,
+ _("option %s requires a positive integer argument "
+ "within range <0,%d>"),
+ longindex == -1 ? "-k" :
"--keepalive-interval",
+ INT_MAX);
There is no reasonable use for any interval greater than, let's say,
100 seconds (and that's already pretty extreme). INT_MAX seconds is
too much and reporting it may even confuse users. Imagine that we
would have to report the limits for *all* options. Why not just do 2
conditions:
if (virStrToLong_i(optarg, NULL, 0, &keepalive) < 0) {
vshError(ctl, _("Invalid value for option %s"),
longindex == -1 ? "-k" : "--keepalive-interval");
exit(EXIT_FAILURE);
}
if (keepalive < 0) {
vshError(ctl, _("option %s requires a positive numeric argument"),
longindex == -1 ? "-k" : "--keepalive-interval");
exit(EXIT_FAILURE);
}
exit(EXIT_FAILURE);
}
ctl->keepalive_interval = keepalive;
@@ -3481,8 +3484,11 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
case 'K':
if (virStrToLong_i(optarg, NULL, 0, &keepalive) < 0 ||
keepalive < 0) {
- vshError(ctl, _("option %s requires a positive numeric
argument"),
- longindex == -1 ? "-K" :
"--keepalive-count");
+ vshError(ctl,
+ _("option %s requires a positive integer argument "
+ "within range <0,%d>"),
+ longindex == -1 ? "-K" :
"--keepalive-count",
+ INT_MAX);
exit(EXIT_FAILURE);
Similarly here.
}
ctl->keepalive_count = keepalive;
diff --git a/tools/virsh.pod b/tools/virsh.pod
index e0dfd13..9bee664 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -77,13 +77,15 @@ given instead.
=item B<-k>, B<--keepalive-interval> I<INTERVAL>
Set an I<INTERVAL> (in seconds) for sending keepalive messages to
-check whether connection to the server is still alive. Setting the
+check whether connection to the server is still alive. I<INTERVAL>
+must be an integer value within range <0,INT_MAX>. Setting the
Same here, check another options that take "normal numbers", we don't
say that it needs to be between 0 and LLONG_MAX for example.
interval to 0 disables client keepalive mechanism.
=item B<-K>, B<--keepalive-count> I<COUNT>
Set a number of times keepalive message can be sent without getting an
-answer from the server without marking the connection dead. There is
+answer from the server without marking the connection dead. I<COUNT>
+must be an integer value within range <0,INT_MAX>. There is
Same here.
Martin
no effect to this setting in case the I<INTERVAL> is set to 0.
=item B<-l>, B<--log> I<FILE>
--
1.9.3
--
libvir-list mailing list
libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list