aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/linux/file_id.cc6
-rw-r--r--src/common/linux/file_id.h3
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