Signed-off-by: Tiago Vignatti <[email protected]>
---
 hw/xfree86/loader/loadmod.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c
index eaa99e8..f304d0a 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,9 @@ LoaderListDirs(const char **subdirlist, const char 
**patternlist)
     }
     if (listing)
        listing[n] = NULL;
+
+    FreeSubdirs(subdirs);
+    FreePatterns(patterns);
     return listing;
 }
 
-- 
1.7.0.4

_______________________________________________
[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