[libvirt] [PATCH 1/2] tools: Ignore newlines in libvirt-guests.sh guest list

Eric Blake eblake at redhat.com
Fri Oct 7 19:04:57 UTC 2016


On 10/07/2016 02:56 AM, Stefan Bader wrote:
> The list file expects all guest UUIDs on the same line as the URI
> which the guests run on. This does not happen when the list is
> echo'ed in quotes. When stripping the quotes, newlines get transformed
> into spaces. Without this, only the first guest on the list is actually
> handled.
> 
> Based on a fix by Omar Siam <simar at gmx.net>
> 
> Bug-Ubuntu: http://bugs.launchpad.net/bugs/1591695
> 
> Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
> ---
>  tools/libvirt-guests.sh.in | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

ACK.

> 
> diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in
> index 7f74b85..7380b4b 100644
> --- a/tools/libvirt-guests.sh.in
> +++ b/tools/libvirt-guests.sh.in
> @@ -499,7 +499,7 @@ stop() {
>          fi
>  
>          if [ -n "$list" ]; then
> -            echo "$uri" "$list" >>"$LISTFILE"
> +            echo "$uri" $list >>"$LISTFILE"

This is one case where "" is harmful - we WANT the shell to perform
word-splitting, and the content of $list should be safe for splitting
(ie. since all elements of the list are UUIDs, none of them should
contain any other whitespace or shell metacharacters that would
misbehave by losing the "").


-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20161007/de2dbf8b/attachment-0001.sig>


More information about the libvir-list mailing list