aboutsummaryrefslogtreecommitdiff
path: root/src/client/mac/handler/dynamic_images.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/mac/handler/dynamic_images.h')
-rw-r--r--src/client/mac/handler/dynamic_images.h24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/client/mac/handler/dynamic_images.h b/src/client/mac/handler/dynamic_images.h
index 85ba8cf9..aa74b746 100644
--- a/src/client/mac/handler/dynamic_images.h
+++ b/src/client/mac/handler/dynamic_images.h
@@ -103,7 +103,7 @@ class MachHeader {
class DynamicImage {
public:
DynamicImage(breakpad_mach_header *header, // we take ownership
- int header_size, // includes load commands
+ size_t header_size, // includes load commands
breakpad_mach_header *load_address,
char *inFilePath,
uintptr_t image_mod_date,
@@ -112,7 +112,12 @@ class DynamicImage {
header_size_(header_size),
load_address_(load_address),
file_mod_date_(image_mod_date),
- task_(task) {
+ task_(task),
+ vmaddr_(0),
+ vmsize_(0),
+ slide_(0),
+ version_(0),
+ file_path_(NULL) {
InitializeFilePath(inFilePath);
CalculateMemoryAndVersionInfo();
}
@@ -128,7 +133,7 @@ class DynamicImage {
breakpad_mach_header *GetMachHeader() {return header_;}
// Size of mach_header plus load commands
- int GetHeaderSize() const {return header_size_;}
+ size_t GetHeaderSize() const {return header_size_;}
// Full path to mach-o binary
char *GetFilePath() {return file_path_;}
@@ -160,6 +165,9 @@ class DynamicImage {
void Print();
private:
+ DynamicImage(const DynamicImage &);
+ DynamicImage &operator=(const DynamicImage &);
+
friend class DynamicImages;
// Sanity checking
@@ -180,7 +188,7 @@ class DynamicImage {
void CalculateMemoryAndVersionInfo();
breakpad_mach_header *header_; // our local copy of the header
- int header_size_; // mach_header plus load commands
+ size_t header_size_; // mach_header plus load commands
breakpad_mach_header *load_address_; // base address image is mapped into
mach_vm_address_t vmaddr_;
mach_vm_size_t vmsize_;
@@ -231,13 +239,13 @@ class DynamicImages {
explicit DynamicImages(mach_port_t task);
~DynamicImages() {
- for (int i = 0; i < (int)image_list_.size(); ++i) {
+ for (int i = 0; i < GetImageCount(); ++i) {
delete image_list_[i];
}
}
// Returns the number of dynamically loaded mach-o images.
- int GetImageCount() const {return image_list_.size();}
+ int GetImageCount() const {return static_cast<int>(image_list_.size());}
// Returns an individual image.
DynamicImage *GetImage(int i) {
@@ -256,14 +264,14 @@ class DynamicImages {
// Debugging
void Print() {
- for (int i = 0; i < (int)image_list_.size(); ++i) {
+ for (int i = 0; i < GetImageCount(); ++i) {
image_list_[i]->Print();
}
}
void TestPrint() {
const breakpad_mach_header *header;
- for (int i = 0; i < (int)image_list_.size(); ++i) {
+ for (int i = 0; i < GetImageCount(); ++i) {
printf("dyld: %p: name = %s\n", _dyld_get_image_header(i),
_dyld_get_image_name(i) );