[libvirt] [PATCH] virsh: Free stream when shutdown console

Eric Blake eblake at redhat.com
Fri Mar 11 15:19:52 UTC 2011


On 03/11/2011 06:56 AM, Osier Yang wrote:
> Otherwise connection of hypervisor driver will be leaked when
> one shutdown the guest in console. e.g.
> 
> [root at localhost]# init 0
> ......
> init: Re-executing /sbin/init
> Halting system...
> Power down.
> 
> error: Failed to disconnect from the hypervisor, 1 leaked reference(s)
> ---
>  tools/console.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/tools/console.c b/tools/console.c
> index b9dd268..01d8bd1 100644
> --- a/tools/console.c
> +++ b/tools/console.c
> @@ -91,6 +91,8 @@ static void
>  virConsoleShutdown(virConsolePtr con)
>  {
>      con->quit = true;
> +    if (con->st)
> +        virStreamFree(con->st);
>      virStreamEventRemoveCallback(con->st);

Shouldn't you free the stream _after_ you remove the callback from it?
Otherwise, you are referencing a freed stream.

ACK if you swap those two lines.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

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


More information about the libvir-list mailing list