This was a bit subtle. Usually if you free when AddResource fails, it's
a bug, so I had to read it a few times to realize that you're not
freeing pPixmap, but newPix. Some comment about that in the commit
message or in the code might be nice, but in any case:

Reviewed-by: Jamey Sharp <[email protected]>

On Thu, Oct 20, 2011 at 11:44:26AM +0100, Dave Airlie wrote:
> From: Dave Airlie <[email protected]>
> 
> newPix could be leaked if AddResource failed.
> 
> pointed out by coverity scan.
> 
> Signed-off-by: Dave Airlie <[email protected]>
> ---
>  composite/compext.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/composite/compext.c b/composite/compext.c
> index 722587a..01bd578 100644
> --- a/composite/compext.c
> +++ b/composite/compext.c
> @@ -725,8 +725,10 @@ PanoramiXCompositeNameWindowPixmap (ClientPtr client)
>       }
>  
>       if (!AddResource (newPix->info[i].id, RT_PIXMAP,
> -                       (pointer) pPixmap))
> +                       (pointer) pPixmap)) {
> +         free (newPix);
>           return BadAlloc;
> +     }
>  
>       ++pPixmap->refcnt;
>      }
> -- 
> 1.7.6.4
> 
> _______________________________________________
> [email protected]: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel

Attachment: signature.asc
Description: Digital signature

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to