Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program received signal SIGSEGV, Segmentation fault.
- 0x000055c84fbbc058 in std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> >::push_back(boost::filesystem::path const&) ()
- (gdb)
- Single stepping until exit from function _ZNSt6vectorIN5boost10filesystem4pathESaIS2_EE9push_backERKS2_,
- which has no line number information.
- Program terminated with signal SIGSEGV, Segmentation fault.
- #pragma once
- #include <boost/filesystem.hpp>
- #include <cryptopp/cryptlib.h>
- #define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1
- #include <cryptopp/md5.h>
- #include "cryptopp/hex.h"
- #include "cryptopp/files.h"
- class Verify {
- private:
- typedef std::vector<boost::filesystem::path> vec;
- vec v;
- public:
- bool verify_files();
- bool generate_hash(boost::filesystem::path source);
- };
- bool Verify::generate_hash(boost::filesystem::path source) {
- try {
- if (boost::filesystem::exists(source)) { //make sure path is valid
- if (boost::filesystem::is_regular_file(source)) { //no regular files
- std::cout << "Please enter base path of directory only." << std::endl;
- return false;
- }
- else if (boost::filesystem::is_directory(source)){ //process directory here
- std::cout << "Scanning " << source << std::endl;
- std::copy(boost::filesystem::recursive_directory_iterator(source), boost::filesystem::recursive_directory_iterator(), std::back_inserter(this->v));
- std::sort(v.begin(), v.end());
- for (vec::const_iterator it (v.begin()); it != v.end(); ++it){
- std::string result;
- if (boost::filesystem::is_regular_file(*it)) {
- Weak::MD5 hash;
- FileSource((*it).string().c_str(), true, new HashFilter(hash, new HexEncoder(new StringSink(result), false)));
- }
- std::cout << "Hashing: " << *it << " - " << result << std::endl;
- }
- }
- }
- } catch (const boost::filesystem::filesystem_error& e){
- std::cout << e.what() << std::endl;
- return false;
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement