[libvirt] [PATCH] libvirt-guests: avoid globbing when splitting $URIS
Eric Blake
eblake at redhat.com
Fri Mar 11 21:08:33 UTC 2011
* tools/libvirt-guests.init.sh (start, stop, gueststatus): Avoid
shell globbing, since valid URIs can contain '?'.
---
> Meanwhile, we already know that a valid URI does not contain whitespace
> (a valid URI can represent whitespace via encoding, where needed), so
> it's already acceptable to use IFS splitting on $URIS to break it into
> individual URIs, it's just that we need to suppress globbing in the
> process. 'set -f' can be used for this, if needed.
Does this patch look sane? If you like it, then I will push your
patch and mine at the same time.
tools/libvirt-guests.init.sh | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/tools/libvirt-guests.init.sh b/tools/libvirt-guests.init.sh
index 0b64cf6..f247e5e 100644
--- a/tools/libvirt-guests.init.sh
+++ b/tools/libvirt-guests.init.sh
@@ -143,12 +143,15 @@ start() {
while read uri list; do
configured=false
+ set -f
for confuri in $URIS; do
+ set +f
if [ "x$confuri" = "x$uri" ]; then
configured=true
break
fi
done
+ set +f
if ! "$configured"; then
eval_gettext "Ignoring guests on \$uri URI"; echo
continue
@@ -241,7 +244,9 @@ stop() {
fi
: >"$LISTFILE"
+ set -f
for uri in $URIS; do
+ set +f
eval_gettext "Running guests on \$uri URI: "
if [ "x$uri" = xdefault ] && [ ! -x "$libvirtd" ]; then
@@ -265,6 +270,7 @@ stop() {
fi
fi
done
+ set +f
while read uri list; do
if "$suspending"; then
@@ -286,10 +292,13 @@ stop() {
}
gueststatus() {
+ set -f
for uri in $URIS; do
+ set +f
echo "* $uri URI:"
retval run_virsh "$uri" list || echo
done
+ set +f
}
# rh_status
--
1.7.4
More information about the libvir-list
mailing list