Details
Description
On Android, QTemporaryDir may create 256 directories for certain paths, yet isValid() returns false and path() returns empty string.
This works correctly on Windows, but not on Android:
QTemporaryDir temp(QStandardPaths::writableLocation(QStandardPaths::DownloadLocation) + "/");
EXPECTED: Either QTemporaryDir creates one directory, isValid() returns true and path() returns correct path, OR no directories are created, isValid() false etc.
ACTUAL: QTemporaryDir may work correctly, or it creates 256 directories, isValid() returns false and path() returns empty.
I suspect that QFileSystemEngine::setPermissions() call in q_mkdtemp() (qtemporarydir.cpp:127) fails for some reason, so the loop keeps creating new directories.
Attachments
For Gerrit Dashboard: QTBUG-43352 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
104042,2 | QTemporaryDir: Remove directories on failure | 5.4.1 | qt/qtbase | Status: MERGED | +2 | 0 |