Author: arielch Date: Fri Oct 25 12:49:16 2013 New Revision: 1535717 URL: http://svn.apache.org/r1535717 Log: i123544 - Prevent accessing empty filters' vector
Modified: openoffice/trunk/main/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx Modified: openoffice/trunk/main/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx?rev=1535717&r1=1535716&r2=1535717&view=diff ============================================================================== --- openoffice/trunk/main/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx (original) +++ openoffice/trunk/main/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx Fri Oct 25 12:49:16 2013 @@ -915,15 +915,18 @@ void VistaFilePickerImpl::impl_sta_ShowD ::rtl::OUString aExt; UINT nFileType; hResult = iDialog->GetFileTypeIndex(&nFileType); - if ( SUCCEEDED(hResult) ) + if ( SUCCEEDED(hResult) && nFileType > 0 ) { ::sal_Int32 nRealIndex = (nFileType-1); // COM dialog base on 1 ... filter container on 0 .-) ::std::vector< COMDLG_FILTERSPEC > lFilters = lcl_buildFilterList(m_lFilters); - LPCWSTR lpFilterExt = lFilters[nRealIndex].pszSpec; + if ( nRealIndex < lFilters.size() ) + { + LPCWSTR lpFilterExt = lFilters[nRealIndex].pszSpec; - lpFilterExt = wcsrchr( lpFilterExt, '.' ); - if ( lpFilterExt ) - aFileURL += reinterpret_cast<const sal_Unicode*>(lpFilterExt); + lpFilterExt = wcsrchr( lpFilterExt, '.' ); + if ( lpFilterExt ) + aFileURL += reinterpret_cast<const sal_Unicode*>(lpFilterExt); + } } }