diff options
-rw-r--r-- | src/common/linux/file_id.cc | 6 | ||||
-rw-r--r-- | src/common/linux/file_id.h | 3 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/common/linux/file_id.cc b/src/common/linux/file_id.cc index e3631785..31ea9da5 100644 --- a/src/common/linux/file_id.cc +++ b/src/common/linux/file_id.cc @@ -48,9 +48,7 @@ namespace google_breakpad { -FileID::FileID(const char* path) { - strncpy(path_, path, sizeof(path_)); -} +FileID::FileID(const char* path) : path_(path) {} // ELF note name and desc are 32-bits word padded. #define NOTE_PADDING(a) ((a + 3) & ~3) @@ -150,7 +148,7 @@ bool FileID::ElfFileIdentifierFromMappedFile(const void* base, } bool FileID::ElfFileIdentifier(uint8_t identifier[kMDGUIDSize]) { - MemoryMappedFile mapped_file(path_); + MemoryMappedFile mapped_file(path_.c_str()); if (!mapped_file.data()) // Should probably check if size >= ElfW(Ehdr)? return false; diff --git a/src/common/linux/file_id.h b/src/common/linux/file_id.h index 70a6b3f5..2642722a 100644 --- a/src/common/linux/file_id.h +++ b/src/common/linux/file_id.h @@ -34,6 +34,7 @@ #define COMMON_LINUX_FILE_ID_H__ #include <limits.h> +#include <string> #include "common/linux/guid_creator.h" @@ -69,7 +70,7 @@ class FileID { private: // Storage for the path specified - char path_[PATH_MAX]; + std::string path_; }; } // namespace google_breakpad |