Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/1720 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/20/1720/1 fdo#58415: Don't ignore osl_getFileURLFromSystemPath failure ...in osl_getFileStatus et al, it would leave the relevant status string member unchanged (i.e., a null pointer) but would mark it as valid, so that later code to retrieve the allegedly valid string member would crash upon the null pointer. Change-Id: Ia8528f5dc27d94f3d14a2c416955a041b87863d3 (cherry picked from commit 588997f0ebc5696574680098b128e66eff54f00c) --- M sal/osl/w32/file_dirvol.cxx 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/sal/osl/w32/file_dirvol.cxx b/sal/osl/w32/file_dirvol.cxx index 47309a4..c8c2da3 100644 --- a/sal/osl/w32/file_dirvol.cxx +++ b/sal/osl/w32/file_dirvol.cxx @@ -1523,8 +1523,10 @@ if (uFieldMask & osl_VolumeInfo_Mask_DeviceHandle) { + error = osl_getFileURLFromSystemPath(volume_root.pData, (rtl_uString**)&pInfo->pDeviceHandle); + if (error != osl_File_E_None) + return error; pInfo->uValidFields |= osl_VolumeInfo_Mask_DeviceHandle; - osl_getFileURLFromSystemPath(volume_root.pData, (rtl_uString**)&pInfo->pDeviceHandle); } return osl_File_E_None; @@ -1620,8 +1622,10 @@ rtl_uString *ustrSystemPath = NULL; rtl_uString_newFromStr( &ustrSystemPath, reinterpret_cast<const sal_Unicode*>(pItemImpl->cDriveString) ); - osl_getFileURLFromSystemPath( ustrSystemPath, &pStatus->ustrFileURL ); + oslFileError error = osl_getFileURLFromSystemPath( ustrSystemPath, &pStatus->ustrFileURL ); rtl_uString_release( ustrSystemPath ); + if (error != osl_File_E_None) + return error; pStatus->uValidFields |= osl_FileStatus_Mask_FileURL; } return osl_File_E_None; @@ -1649,7 +1653,9 @@ if ( uFieldMask & osl_FileStatus_Mask_FileURL ) { - osl_getFileURLFromSystemPath( pItemImpl->m_pFullPath, &pStatus->ustrFileURL ); + oslFileError error = osl_getFileURLFromSystemPath( pItemImpl->m_pFullPath, &pStatus->ustrFileURL ); + if (error != osl_File_E_None) + return error; pStatus->uValidFields |= osl_FileStatus_Mask_FileURL; } return osl_File_E_None; @@ -1738,7 +1744,9 @@ if ( uFieldMask & osl_FileStatus_Mask_LinkTargetURL ) { - osl_getFileURLFromSystemPath( pItemImpl->m_pFullPath, &pStatus->ustrLinkTargetURL ); + oslFileError error = osl_getFileURLFromSystemPath( pItemImpl->m_pFullPath, &pStatus->ustrLinkTargetURL ); + if (error != osl_File_E_None) + return error; pStatus->uValidFields |= osl_FileStatus_Mask_LinkTargetURL; } @@ -1760,7 +1768,9 @@ } } - osl_getFileURLFromSystemPath( pItemImpl->m_pFullPath, &pStatus->ustrFileURL ); + oslFileError error = osl_getFileURLFromSystemPath( pItemImpl->m_pFullPath, &pStatus->ustrFileURL ); + if (error != osl_File_E_None) + return error; pStatus->uValidFields |= osl_FileStatus_Mask_FileURL; } -- To view, visit https://gerrit.libreoffice.org/1720 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia8528f5dc27d94f3d14a2c416955a041b87863d3 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: libreoffice-3-6 Gerrit-Owner: Stephan Bergmann <sberg...@redhat.com> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice