[PATCHv2 1/2] xfree86: loader: fix memory leaks in LoaderListDirs

Peter Hutterer peter.hutterer at who-t.net
Sun Apr 3 15:53:54 PDT 2011


On Thu, Mar 31, 2011 at 04:26:06PM +0300, Tiago Vignatti wrote:
> Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
> Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
> Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
> ---
> This one is with FreePathList addition that Nicolas suggested. Also, based on
> Peter's review I generated the next patch, grouping the return code in one
> single exit.
> 
>  hw/xfree86/loader/loadmod.c |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c
> index eaa99e8..46ce68b 100644
> --- a/hw/xfree86/loader/loadmod.c
> +++ b/hw/xfree86/loader/loadmod.c
> @@ -532,6 +532,7 @@ LoaderListDirs(const char **subdirlist, const char **patternlist)
>  				FreePathList(pathlist);
>  				FreeSubdirs(subdirs);
>  				FreePatterns(patterns);
> +				closedir(d);
>  				return NULL;
>  			    }
>  			    listing[n] = malloc(len + 1);
> @@ -540,6 +541,7 @@ LoaderListDirs(const char **subdirlist, const char **patternlist)
>  				FreePathList(pathlist);
>  				FreeSubdirs(subdirs);
>  				FreePatterns(patterns);
> +				closedir(d);
>  				return NULL;
>  			    }
>  			    strncpy(listing[n], dp->d_name + match[1].rm_so,
> @@ -556,6 +558,10 @@ LoaderListDirs(const char **subdirlist, const char **patternlist)
>      }
>      if (listing)
>  	listing[n] = NULL;
> +
> +    FreePathList(pathlist);
> +    FreeSubdirs(subdirs);
> +    FreePatterns(patterns);
>      return listing;
>  }
>  
> -- 
> 1.7.0.4

merged this one into my branch, pull will go out later today.

Cheers,
  Peter


More information about the xorg-devel mailing list