qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] libcacard: don't leak vcard_emul_alloc_arrays m


From: Christophe Fergeau
Subject: Re: [Qemu-devel] [PATCH] libcacard: don't leak vcard_emul_alloc_arrays mem
Date: Fri, 22 Jul 2011 13:30:49 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Ping?

On Mon, Jul 04, 2011 at 06:10:43PM +0200, Christophe Fergeau wrote:
> vcard_emul_mirror_card and vcard_emul_init use
> vcard_emul_alloc_arrays to allocate memory for temporary arrays
> which will contain elements that in the end will be used one by
> one in cac_card_init. The arrays themselves are never stored
> anywhere, they are only used as temporary containers. Hence
> the memory that was allocated for these arrays should be freed
> after use or they will be leaked.
> ---
>  libcacard/vcard_emul_nss.c |   11 ++++++++++-
>  1 files changed, 10 insertions(+), 1 deletions(-)
> 
> diff --git a/libcacard/vcard_emul_nss.c b/libcacard/vcard_emul_nss.c
> index de324ba..4fee471 100644
> --- a/libcacard/vcard_emul_nss.c
> +++ b/libcacard/vcard_emul_nss.c
> @@ -476,6 +476,7 @@ vcard_emul_mirror_card(VReader *vreader)
>      VCardKey **keys;
>      PK11SlotInfo *slot;
>      PRBool ret;
> +    VCard *card;
>  
>      slot = vcard_emul_reader_get_slot(vreader);
>      if (slot == NULL) {
> @@ -535,7 +536,12 @@ vcard_emul_mirror_card(VReader *vreader)
>      }
>  
>      /* now create the card */
> -    return vcard_emul_make_card(vreader, certs, cert_len, keys, cert_count);
> +    card = vcard_emul_make_card(vreader, certs, cert_len, keys, cert_count);
> +    qemu_free(certs);
> +    qemu_free(cert_len);
> +    qemu_free(keys);
> +
> +    return card;
>  }
>  
>  static VCardEmulType default_card_type = VCARD_EMUL_NONE;
> @@ -820,6 +826,9 @@ vcard_emul_init(const VCardEmulOptions *options)
>              vreader_free(vreader);
>              has_readers = PR_TRUE;
>          }
> +        qemu_free(certs);
> +        qemu_free(cert_len);
> +        qemu_free(keys);
>      }
>  
>      /* if we aren't suppose to use hw, skip looking up hardware tokens */
> -- 
> 1.7.5.4
> 
> 

Attachment: pgpltlTjbxEf3.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]