summaryrefslogtreecommitdiffstats
path: root/external/breakpad/ubsan.patch
blob: f4204516eed4e21ee039e13e219667721da6f2c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--- src/client/linux/minidump_writer/directory_reader.h
+++ src/client/linux/minidump_writer/directory_reader.h
@@ -96,7 +96,7 @@
   const int fd_;
   bool hit_eof_;
   unsigned buf_used_;
-  uint8_t buf_[sizeof(struct kernel_dirent) + NAME_MAX + 1];
+  uint8_t buf_[sizeof(struct kernel_dirent) + NAME_MAX + 1] __attribute__ ((aligned (__BIGGEST_ALIGNMENT__)));
 };
 
 }  // namespace google_breakpad
--- src/common/memory.h
+++ src/common/memory.h
@@ -75,6 +75,7 @@
     if (!bytes)
       return NULL;
 
+    bytes = (bytes + (__BIGGEST_ALIGNMENT__ - 1)) & ~(__BIGGEST_ALIGNMENT__ - 1);
     if (current_page_ && page_size_ - page_offset_ >= bytes) {
       uint8_t *const ret = current_page_ + page_offset_;
       page_offset_ += bytes;