aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/mac/handler/breakpad_nlist_64.cc10
-rw-r--r--src/client/mac/handler/testcases/DynamicImagesTests.cc18
2 files changed, 11 insertions, 17 deletions
diff --git a/src/client/mac/handler/breakpad_nlist_64.cc b/src/client/mac/handler/breakpad_nlist_64.cc
index 709e8546..4d9bbcc7 100644
--- a/src/client/mac/handler/breakpad_nlist_64.cc
+++ b/src/client/mac/handler/breakpad_nlist_64.cc
@@ -189,10 +189,10 @@ int __breakpad_fdnlist(int fd, nlist_type *list, const char **symbolNames,
struct exec buf;
if (read(fd, (char *)&buf, sizeof(buf)) != sizeof(buf) ||
- (N_BADMAG(buf) && *((long *)&buf) != magic &&
+ (N_BADMAG(buf) && *((uint32_t *)&buf) != magic &&
NXSwapBigLongToHost(*((long *)&buf)) != FAT_MAGIC) &&
/* The following is the big-endian ppc64 check */
- (*((long*)&buf)) != FAT_MAGIC) {
+ (*((uint32_t*)&buf)) != FAT_MAGIC) {
return -1;
}
@@ -232,7 +232,7 @@ int __breakpad_fdnlist(int fd, nlist_type *list, const char **symbolNames,
}
if (read(fd, (char *)fat_archs,
sizeof(struct fat_arch) * fh.nfat_arch) !=
- (ssize_t)sizeof(struct fat_arch) * fh.nfat_arch) {
+ (ssize_t)(sizeof(struct fat_arch) * fh.nfat_arch)) {
free(fat_archs);
return -1;
}
@@ -296,7 +296,7 @@ int __breakpad_fdnlist(int fd, nlist_type *list, const char **symbolNames,
return -1;
}
if (read(fd, (char *)load_commands, mh.sizeofcmds) !=
- mh.sizeofcmds) {
+ (ssize_t)mh.sizeofcmds) {
free(load_commands);
return -1;
}
@@ -304,7 +304,7 @@ int __breakpad_fdnlist(int fd, nlist_type *list, const char **symbolNames,
struct load_command *lcp = load_commands;
// iterate through all load commands, looking for
// LC_SYMTAB load command
- for (long i = 0; i < mh.ncmds; i++) {
+ for (uint32_t i = 0; i < mh.ncmds; i++) {
if (lcp->cmdsize % sizeof(word_type) != 0 ||
lcp->cmdsize <= 0 ||
(char *)lcp + lcp->cmdsize >
diff --git a/src/client/mac/handler/testcases/DynamicImagesTests.cc b/src/client/mac/handler/testcases/DynamicImagesTests.cc
index cb76eb10..0fc7825b 100644
--- a/src/client/mac/handler/testcases/DynamicImagesTests.cc
+++ b/src/client/mac/handler/testcases/DynamicImagesTests.cc
@@ -55,21 +55,17 @@ void DynamicImagesTests::ReadTaskMemoryTest() {
// pick test2 as a symbol we know to be valid to read
// anything will work, really
void *addr = reinterpret_cast<void*>(&test2);
- void *buf;
+ std::vector<uint8_t> buf(getpagesize());
fprintf(stderr, "reading 0x%p\n", addr);
- buf = google_breakpad::ReadTaskMemory(mach_task_self(),
- addr,
- getpagesize(),
- &kr);
+ kr = google_breakpad::ReadTaskMemory(mach_task_self(),
+ (uint64_t)addr,
+ getpagesize(),
+ buf);
CPTAssert(kr == KERN_SUCCESS);
- CPTAssert(buf != NULL);
-
- CPTAssert(0 == memcmp(buf, (const void*)addr, getpagesize()));
-
- free(buf);
+ CPTAssert(0 == memcmp(&buf[0], (const void*)addr, getpagesize()));
}
void DynamicImagesTests::ReadLibrariesFromLocalTaskTest() {
@@ -79,7 +75,5 @@ void DynamicImagesTests::ReadLibrariesFromLocalTaskTest() {
fprintf(stderr,"Local task image count: %d\n", d->GetImageCount());
- d->TestPrint();
-
CPTAssert(d->GetImageCount() > 0);
}