1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
Index: beta.vivid/third_party/skia/gyp/skia_lib.gyp
===================================================================
--- beta.vivid.orig/third_party/skia/gyp/skia_lib.gyp 2015-06-24 23:38:14.809602300 -0400
+++ beta.vivid/third_party/skia/gyp/skia_lib.gyp 2015-06-24 23:38:14.806602345 -0400
@@ -15,6 +15,7 @@
'ports.gyp:ports',
'sfnt.gyp:sfnt',
'utils.gyp:utils',
+ "<!(echo <(skia_arch_type) <(skia_os) 1>&2)"
],
'conditions': [
[ '"x86" in skia_arch_type and skia_os != "android"', {
@@ -23,7 +24,7 @@
'opts.gyp:opts_sse41',
],
}],
- [ 'arm_neon == 1', {
+ [ '1', {
'component_libs': [
'opts.gyp:opts_neon',
],
Index: beta.vivid/ui/base/resource/data_pack.cc
===================================================================
--- beta.vivid.orig/ui/base/resource/data_pack.cc 2015-06-24 23:38:14.809602300 -0400
+++ beta.vivid/ui/base/resource/data_pack.cc 2015-06-24 23:38:14.807602330 -0400
@@ -155,9 +155,11 @@
// 2) Verify the entries are within the appropriate bounds. There's an extra
// entry after the last item which gives us the length of the last item.
for (size_t i = 0; i < resource_count_ + 1; ++i) {
+ uint32 t;
const DataPackEntry* entry = reinterpret_cast<const DataPackEntry*>(
mmap_->data() + kHeaderLength + (i * sizeof(DataPackEntry)));
- if (entry->file_offset > mmap_->length()) {
+ memcpy(&t, &entry->file_offset, 32/8);
+ if (t > mmap_->length()) {
LOG(ERROR) << "Entry #" << i << " in data pack points off end of file. "
<< "Was the file corrupted?";
UMA_HISTOGRAM_ENUMERATION("DataPack.Load", ENTRY_NOT_FOUND,
|