[SSSD] [PATCH] NSS: Check allocation result

Simo Sorce simo at redhat.com
Mon Oct 21 14:38:19 UTC 2013


On Mon, 2013-10-21 at 11:03 +0200, Jakub Hrozek wrote:
> Another small bug I found when looking for #1020945
> 
> 
> 
> 
> 
> 
> 
> plain text
> document
> attachment
> (0001-NSS-Check-allocation-result.patch)
> 
> From b1d04686f085e25f10dde82f1e19c89278883001 Mon Sep 17 00:00:00 2001
> From: Jakub Hrozek <jhrozek at redhat.com>
> Date: Sun, 20 Oct 2013 19:24:04 +0200
> Subject: [PATCH] NSS: Check allocation result
> 
> ---
>  src/responder/nss/nsssrv_cmd.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/src/responder/nss/nsssrv_cmd.c
> b/src/responder/nss/nsssrv_cmd.c
> index
> d37b4707cb734375011650632bca6d429042038c..a1938b2fc8d0a88460027d5f0d400f840fade02b 100644
> --- a/src/responder/nss/nsssrv_cmd.c
> +++ b/src/responder/nss/nsssrv_cmd.c
> @@ -320,6 +320,7 @@ static int fill_pwent(struct sss_packet *packet,
>      for (i = 0; i < *count; i++) {
>          talloc_zfree(tmp_ctx);
>          tmp_ctx = talloc_new(NULL);
> +        if (tmp_ctx == NULL) return ENOMEM;
>  
>          msg = msgs[i];
>  
> @@ -2325,6 +2326,7 @@ static int fill_grent(struct sss_packet *packet,
>      for (i = 0; i < *count; i++) {
>          talloc_zfree(tmp_ctx);
>          tmp_ctx = talloc_new(NULL);
> +        if (tmp_ctx == NULL) return ENOMEM;
>          msg = msgs[i];
>  
>          /* new group */ 

Sorry to shot down another small fix, but I think what you want to do
here is not talloc_zfree(tmp_ctx) + talloc_new(NULL), but rather use
simply talloc_free_children(tmp_ctx);

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York




More information about the sssd-devel mailing list