From 922b31ebbdc6d8cbfe76bebbaa158cf16b9e7b0c Mon Sep 17 00:00:00 2001
From: Subv <subv2112@gmail.com>
Date: Fri, 25 Dec 2015 17:03:59 -0500
Subject: [PATCH] DiskDirectory: Initialize the directory member with valid
 info.

---
 src/common/file_util.cpp           | 2 +-
 src/core/file_sys/disk_archive.cpp | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp
index 052c0ecd6..c3061479a 100644
--- a/src/common/file_util.cpp
+++ b/src/common/file_util.cpp
@@ -457,7 +457,7 @@ bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string &directo
         if (virtual_name == "." || virtual_name == "..")
             continue;
 
-        unsigned ret_entries;
+        unsigned ret_entries = 0;
         if (!callback(&ret_entries, directory, virtual_name)) {
             callback_error = true;
             break;
diff --git a/src/core/file_sys/disk_archive.cpp b/src/core/file_sys/disk_archive.cpp
index 0ba502200..a51416774 100644
--- a/src/core/file_sys/disk_archive.cpp
+++ b/src/core/file_sys/disk_archive.cpp
@@ -139,7 +139,7 @@ bool DiskFile::Close() const {
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
-DiskDirectory::DiskDirectory(const DiskArchive& archive, const Path& path) {
+DiskDirectory::DiskDirectory(const DiskArchive& archive, const Path& path) : directory() {
     // TODO(Link Mauve): normalize path into an absolute path without "..", it can currently bypass
     // the root directory we set while opening the archive.
     // For example, opening /../../usr/bin can give the emulated program your installed programs.
@@ -149,7 +149,9 @@ DiskDirectory::DiskDirectory(const DiskArchive& archive, const Path& path) {
 bool DiskDirectory::Open() {
     if (!FileUtil::IsDirectory(path))
         return false;
-    FileUtil::ScanDirectoryTree(path, directory);
+    unsigned size = FileUtil::ScanDirectoryTree(path, directory);
+    directory.size = size;
+    directory.isDirectory = true;
     children_iterator = directory.children.begin();
     return true;
 }