summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Samir <[email protected]>2025-04-30 16:34:44 +0300
committerAhmad Samir <[email protected]>2025-05-14 04:41:13 +0300
commit2875c4358beedd0997b60d21df4b95dbfec4f9a6 (patch)
treeb2f12c2dc6f4d9908ad7cd5fa65b439b24eb354b
parent6dcf1483940cb180cbe59e0ea8781d722ae6cddd (diff)
QSslCertificate: fromPath(): check the path arg isn't empty
`path` may contain wildcard glob patterns or regular expression ones, so this method tries to get a path prefix without those special characters, but that prefix could end up being empty, to counter that, "." is used as a prefix. This led to iterating over the current dir, which isn't the intended behavior. If the current dir has many files, this could end up slowing things down (which is what happens in the bug report). Fix the issue by returning early if `path` is empty. Amends 49f143e19ca11ef48260a3aaaa4ddbe490cf81ab. [ChangeLog][QtNetwork][QSslCertificate][Important Behavior Changes] fromPath() no longer accepts an empty path, which would previously result in searching the current directory. Fixes: QTBUG-134419 Pick-to: 6.9 6.8 6.5 Change-Id: I29224c3a47794b4095db5feae32a964dd9b854ff Reviewed-by: MÃ¥rten Nordheim <[email protected]> Reviewed-by: Timur Pocheptsov <[email protected]>
-rw-r--r--src/network/ssl/qsslcertificate.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp
index c6294818a1e..af3e47f66f9 100644
--- a/src/network/ssl/qsslcertificate.cpp
+++ b/src/network/ssl/qsslcertificate.cpp
@@ -630,6 +630,9 @@ QList<QSslCertificate> QSslCertificate::fromPath(const QString &path,
QSsl::EncodingFormat format,
PatternSyntax syntax)
{
+ if (path.isEmpty())
+ return {};
+
// $, (,), *, +, ., ?, [, ,], ^, {, | and }.
// make sure to use the same path separators on Windows and Unix like systems.