diff --git a/src/cryfs-cli/program_options/utils.cpp b/src/cryfs-cli/program_options/utils.cpp index 097c3925..f3f65a9a 100644 --- a/src/cryfs-cli/program_options/utils.cpp +++ b/src/cryfs-cli/program_options/utils.cpp @@ -13,8 +13,8 @@ namespace cryfs { auto doubleDashIterator = std::find(options.begin(), options.end(), string("--")); vector beforeDoubleDash(options.begin(), doubleDashIterator); vector afterDoubleDash; - afterDoubleDash.reserve(options.size()-beforeDoubleDash.size()); - if (options.end() >= doubleDashIterator+1) { + if (doubleDashIterator != options.end() && doubleDashIterator + 1 != options.end()) { + afterDoubleDash.reserve(options.size() - beforeDoubleDash.size() - 1); std::copy(doubleDashIterator + 1, options.end(), std::back_inserter(afterDoubleDash)); } return make_pair(