summaryrefslogtreecommitdiff
path: root/ucb/source/ucp/ftp/ftpurl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'ucb/source/ucp/ftp/ftpurl.cxx')
-rw-r--r--ucb/source/ucp/ftp/ftpurl.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/ucb/source/ucp/ftp/ftpurl.cxx b/ucb/source/ucp/ftp/ftpurl.cxx
index b8b06f0d4721..284a24981b7f 100644
--- a/ucb/source/ucp/ftp/ftpurl.cxx
+++ b/ucb/source/ucp/ftp/ftpurl.cxx
@@ -23,7 +23,11 @@
*************************************************************************/
-#include <memory>
+#include <sal/config.h>
+
+#include <cstring>
+#include <vector>
+
#include <rtl/ustrbuf.hxx>
#include <com/sun/star/ucb/OpenMode.hpp>
#include <string.h>
@@ -548,9 +552,10 @@ OUString FTPURL::net_title() const
// Format of current working directory:
// 257 "/bla/bla" is current directory
sal_Int32 index1 = aNetTitle.lastIndexOf("257");
- index1 = 1+aNetTitle.indexOf('"',index1);
- sal_Int32 index2 = aNetTitle.indexOf('"',index1);
- aNetTitle = aNetTitle.copy(index1,index2-index1);
+ index1 = aNetTitle.indexOf('"', index1 + std::strlen("257")) + 1;
+ sal_Int32 index2 = aNetTitle.indexOf('"', index1);
+ aNetTitle = index2 > index1
+ ? aNetTitle.copy(index1, index2 - index1) : OUString();
if( aNetTitle != "/" ) {
index1 = aNetTitle.lastIndexOf('/');
aNetTitle = aNetTitle.copy(1+index1);