From dc8bdfe675befe048df482663fa3a1b25ee5929b Mon Sep 17 00:00:00 2001 From: agnostic-apollo Date: Thu, 8 Jul 2021 10:50:30 +0500 Subject: [PATCH] Attempt to fix bootstrap installation failure that may be caused by invalid mkdirs return value --- .../src/main/java/com/termux/shared/file/FileUtils.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/termux-shared/src/main/java/com/termux/shared/file/FileUtils.java b/termux-shared/src/main/java/com/termux/shared/file/FileUtils.java index 4bc81933..07179f27 100644 --- a/termux-shared/src/main/java/com/termux/shared/file/FileUtils.java +++ b/termux-shared/src/main/java/com/termux/shared/file/FileUtils.java @@ -326,9 +326,10 @@ public class FileUtils { if (createDirectoryIfMissing && fileType == FileType.NO_EXIST) { Logger.logVerbose(LOG_TAG, "Creating " + label + "directory file at path \"" + filePath + "\""); // Create directory and update fileType if successful, otherwise return with error - if (file.mkdirs()) - fileType = getFileType(filePath, false); - else + // It "might" be possible that mkdirs returns false even though directory was created + boolean result = file.mkdirs(); + fileType = getFileType(filePath, false); + if (!result && fileType != FileType.DIRECTORY) return FileUtilsErrno.ERRNO_CREATING_FILE_FAILED.getError(label + "directory file", filePath); }