From 1f80f059be5dae1fdda2387f5d297f17f4ab8fe4 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 6 May 2017 18:31:18 +0200 Subject: Fix opening session-archives --- libs/ardour/find_session.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/libs/ardour/find_session.cc b/libs/ardour/find_session.cc index 3301dfd20d..05f88d83b3 100644 --- a/libs/ardour/find_session.cc +++ b/libs/ardour/find_session.cc @@ -215,9 +215,16 @@ inflate_session (const std::string& zipfile, const std::string& target_dir, stri error << _("Archive does not contain a session folder") << endmsg; return 3; } - if (bn[bn.length() - 1] == '/') { - bn = bn.substr (0, bn.length() - 1); + + size_t sep = bn.find_first_of ('/'); + + if (sep == string::npos) { + error << _("Archive does not contain a session folder") << endmsg; + return 3; } + + bn = bn.substr (0, sep); + if (bn.empty ()) { error << _("Archive does not contain a valid session structure") << endmsg; return 4; -- cgit v1.2.3