From 4c15d279e4d92b204275e973f2cedb76f63b0ac3 Mon Sep 17 00:00:00 2001 From: Frank Busse Date: Thu, 17 May 2018 23:12:24 +0100 Subject: fix out of range access in KleeHandler::getKTestFilesInDir --- tools/klee/main.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'tools') diff --git a/tools/klee/main.cpp b/tools/klee/main.cpp index ab9dfe28..1178c9cf 100644 --- a/tools/klee/main.cpp +++ b/tools/klee/main.cpp @@ -546,11 +546,11 @@ void KleeHandler::getKTestFilesInDir(std::string directoryPath, #else std::error_code ec; #endif - for (llvm::sys::fs::directory_iterator i(directoryPath, ec), e; i != e && !ec; - i.increment(ec)) { - std::string f = (*i).path(); - if (f.substr(f.size()-6,f.size()) == ".ktest") { - results.push_back(f); + llvm::sys::fs::directory_iterator i(directoryPath, ec), e; + for (; i != e && !ec; i.increment(ec)) { + auto f = i->path(); + if (f.size() >= 6 && f.substr(f.size()-6,f.size()) == ".ktest") { + results.push_back(f); } } -- cgit 1.4.1