Thanks.


Reviewed-by: Anand Jain <anand.j...@oracle.com>


On 07/10/2013 07:01 AM, Wang Shilong wrote:
From: Wang Shilong <wangsl.f...@cn.fujitsu.com>

After calling opendir() successfully, closedir() should be
also called to free memory. Otherwise, memory leak happens.

Signed-off-by: Wang Shilong <wangsl.f...@cn.fujitsu.com>
---
  utils.c | 9 +++++----
  1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/utils.c b/utils.c
index 7b4cd74..0afff55 100644
--- a/utils.c
+++ b/utils.c
@@ -1480,7 +1480,7 @@ int open_file_or_dir(const char *fname)
  {
        int ret;
        struct stat st;
-       DIR *dirstream;
+       DIR *dirstream = NULL;
        int fd;

        ret = stat(fname, &st);
@@ -1496,9 +1496,10 @@ int open_file_or_dir(const char *fname)
        } else {
                fd = open(fname, O_RDWR);
        }
-       if (fd < 0) {
-               return -3;
-       }
+       if (fd < 0)
+               fd = -3;
+       if (dirstream)
+               closedir(dirstream);
        return fd;
  }


--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to