From e21522b8bfb4375e9c3f0336b1d218523de721b0 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 26 May 2022 11:11:54 -0700 Subject: [PATCH] QFileSystemEngine/Win: fix incorrect buffer size in currentPath() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We've just allocated a buffer of 'size' size, which is bigger than PATH_MAX, but told GetCurrentDirectory() that its size is PATH_MAX. Fixes: QTBUG-103852 Pick-to: 5.15 6.2 6.3 Change-Id: Ibcde9b9795ad42ac9978fffd16f2ba2cd8712cb7 Reviewed-by: Friedemann Kleint Reviewed-by: MÃ¥rten Nordheim --- src/corelib/io/qfilesystemengine_win.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/io/qfilesystemengine_win.cpp b/src/corelib/io/qfilesystemengine_win.cpp index efcc2c2c316..a6c5d3e6ca9 100644 --- a/src/corelib/io/qfilesystemengine_win.cpp +++ b/src/corelib/io/qfilesystemengine_win.cpp @@ -1647,7 +1647,7 @@ QFileSystemEntry QFileSystemEngine::currentPath() if (size != 0) { if (size > PATH_MAX) { wchar_t *newCurrentName = new wchar_t[size]; - if (::GetCurrentDirectory(PATH_MAX, newCurrentName) != 0) + if (::GetCurrentDirectory(size, newCurrentName) != 0) ret = QString::fromWCharArray(newCurrentName, size); delete [] newCurrentName; } else {