diff --git a/gui/action.cpp b/gui/action.cpp
index 9c8af35..3899f50 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -1910,21 +1910,21 @@
 			}
 		}
 		if (PartitionManager.Mount_By_Path("/data", false)) {
-			string parent_path = "/data/app";
-			DIR *d = opendir("/data/app");
-			struct dirent *p;
-			size_t len = strlen("me.twrp.twrpapp-");
-			while ((p = readdir(d))) {
-				if (!strcmp(p->d_name, ".") || !strcmp(p->d_name, ".."))
-					continue;
-				if (p->d_type == DT_DIR && strlen(p->d_name) >= len && strncmp(p->d_name, "me.twrp.twrpapp-", len) == 0) {
-					LOGINFO("App found at %s/%s\n", parent_path.c_str(), p->d_name);
+			const char parent_path[] = "/data/app";
+			const char app_prefix[] = "me.twrp.twrpapp-";
+			DIR *d = opendir(parent_path);
+			if (d) {
+				struct dirent *p;
+				while ((p = readdir(d))) {
+					if (p->d_type != DT_DIR || strlen(p->d_name) < strlen(app_prefix) || strncmp(p->d_name, app_prefix, strlen(app_prefix)))
+						continue;
 					closedir(d);
+					LOGINFO("App found at '%s/%s'\n", parent_path, p->d_name);
 					DataManager::SetValue("tw_app_install_status", 2); // 0 = no status, 1 = not installed, 2 = already installed
 					goto exit;
 				}
+				closedir(d);
 			}
-			closedir(d);
 		}
 	} else
 		simulate_progress_bar();
