From 484b1e6ea4e65f225f4694de006a22a69d734c76 Mon Sep 17 00:00:00 2001 From: Laurent Balland-Poirier Date: Wed, 6 Nov 2013 17:57:09 +0100 Subject: Resolves: fdo#71309 Export SWF with Multiple files crashes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In case of unamed file, creation of sPresentationName crash. This patch forces creation of empty name Change-Id: I1b5319eb945f1959f2ad3c703365539508521861 Reviewed-on: https://gerrit.libreoffice.org/6598 Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara (cherry picked from commit 2cf96ae334491733a2bdbeb003da6e49df19cc9f) --- filter/source/flash/swffilter.cxx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/filter/source/flash/swffilter.cxx b/filter/source/flash/swffilter.cxx index e08667e0c84b..4d0ace89759d 100644 --- a/filter/source/flash/swffilter.cxx +++ b/filter/source/flash/swffilter.cxx @@ -285,16 +285,20 @@ sal_Bool FlashExportFilter::ExportAsMultipleFiles(const Sequence< PropertyValue // AS: sPath is the parent directory, where everything else exists (like the sxi, // the -swf-files folder, the -audio files, etc. - int lastslash = sOriginalPath.lastIndexOf('/'); + sal_Int32 lastslash = sOriginalPath.lastIndexOf('/'); OUString sPath( sOriginalPath.copy(0, lastslash) ); OUString sPresentation(xStorable->getLocation()); lastslash = sPresentation.lastIndexOf('/') + 1; - int lastdot = sPresentation.lastIndexOf('.'); + sal_Int32 lastdot = sPresentation.lastIndexOf('.'); // AS: The name of the presentation, without 3 character extension. - OUString sPresentationName = sPresentation.copy(lastslash, lastdot - lastslash); + OUString sPresentationName; + if (lastdot < 0) // fdo#71309 in case file has no name + sPresentationName = sPresentation.copy(lastslash); + else + sPresentationName = sPresentation.copy(lastslash, lastdot - lastslash); OUString fullpath, swfdirpath, backgroundfilename, objectsfilename; -- cgit v1.2.3