QFileSystemEngine/Win: fix incorrect buffer size in currentPath()
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 <Friedemann.Kleint@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
parent
51ac14a4f7
commit
e21522b8bf
@ -1647,7 +1647,7 @@ QFileSystemEntry QFileSystemEngine::currentPath()
|
|||||||
if (size != 0) {
|
if (size != 0) {
|
||||||
if (size > PATH_MAX) {
|
if (size > PATH_MAX) {
|
||||||
wchar_t *newCurrentName = new wchar_t[size];
|
wchar_t *newCurrentName = new wchar_t[size];
|
||||||
if (::GetCurrentDirectory(PATH_MAX, newCurrentName) != 0)
|
if (::GetCurrentDirectory(size, newCurrentName) != 0)
|
||||||
ret = QString::fromWCharArray(newCurrentName, size);
|
ret = QString::fromWCharArray(newCurrentName, size);
|
||||||
delete [] newCurrentName;
|
delete [] newCurrentName;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user