Commit Graph

8330 Commits

Author SHA1 Message Date
Ebrahim Byagowi
9714d3ec5c
[dwrite] Try to fix delete-non-virtual-dtor warnings
Fixes #1548 hopefully
2019-01-18 21:55:21 +03:30
Behdad Esfahbod
0772c06f96 Remove tracing from closure 2019-01-18 12:53:47 -05:00
Behdad Esfahbod
d9f6be3a61 Fix -Wundef errors with __GNUC__
Fixes https://github.com/harfbuzz/harfbuzz/issues/1549
2019-01-18 12:53:47 -05:00
Michiharu Ariza
28917e58f9 init interp_env_t::hintmask_size
fixes issue #1547
2019-01-18 09:43:51 -08:00
Behdad Esfahbod
9b4e51b2e4 [pragma] Enable error -Wdelete-non-virtual-dtor
Currently fails directwrite backend.
2019-01-18 12:23:02 -05:00
Behdad Esfahbod
e65272281c [directwrite] Fix error
hb-directwrite.cc: In constructor 'TextAnalysis::TextAnalysis(const wchar_t*, uint32_t, const wchar_t*, DWRITE_READING_DIRECTION)':
hb-directwrite.cc:489:18: error: 'TextAnalysis::mText' will be initialized after [-Werror=reorder]
   const wchar_t* mText;
                  ^~~~~
hb-directwrite.cc:488:12: error:   'uint32_t TextAnalysis::mTextLength' [-Werror=reorder]
   uint32_t mTextLength;
            ^~~~~~~~~~~
hb-directwrite.cc:282:3: error:   when initialized here [-Werror=reorder]
   TextAnalysis (const wchar_t* text, uint32_t textLength,
   ^~~~~~~~~~~~
hb-directwrite.cc: In function 'hb_bool_t _hb_directwrite_shape_full(hb_shape_plan_t*, hb_font_t*, hb_buffer_t*, const hb_feature_t*, unsigned int, float)':
2019-01-18 12:22:07 -05:00
Behdad Esfahbod
b900f78088 [pragma] More cast-align whitelist 2019-01-18 10:08:23 -05:00
Behdad Esfahbod
0d8b931bbe [pragma] Allow cast-align in hb-font.cc
../src/hb-machinery.hh: In instantiation of 'const Type& StructAtOffset(const void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:144:85:   required from here
../src/hb-machinery.hh:63:12: error: cast from 'const char*' to 'const unsigned int*' increases required alignment of target type [-Werror=cast-align]
 { return * reinterpret_cast<const Type*> ((const char *) P + offset); }
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:145:79:   required from here
../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned int*' increases required alignment of target type [-Werror=cast-align]
 { return * reinterpret_cast<Type*> ((char *) P + offset); }
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = int]':
2019-01-18 10:03:43 -05:00
Behdad Esfahbod
a25174a56b [pragma] GCC diagnostic error "-Wreorder" 2019-01-18 09:59:36 -05:00
Behdad Esfahbod
4660090569 [pragma] GCC diagnostic warning "-Wmaybe-uninitialized" 2019-01-18 09:53:16 -05:00
Behdad Esfahbod
7a634d7d5b [pragma] Massage more 2019-01-18 09:49:14 -05:00
Behdad Esfahbod
16e5ba85b1 [pragma] More 2019-01-18 09:46:17 -05:00
Behdad Esfahbod
2bd530d598 [pragma] Reorg again
https://github.com/harfbuzz/harfbuzz/issues/1546
2019-01-18 09:28:22 -05:00
Behdad Esfahbod
c04272fac8 [pragma] GCC diagnostic ignored "-Wunknown-warning-option"
Try at fixing https://github.com/harfbuzz/harfbuzz/issues/1546
2019-01-18 08:49:45 -05:00
Behdad Esfahbod
4d3c8f9685 [uniscribe] More warnings 2019-01-17 19:58:54 -05:00
Behdad Esfahbod
6a5d2b21d8 [uniscribe] Fix warnings 2019-01-17 19:57:17 -05:00
Behdad Esfahbod
5b13e458c3 Fix build 2019-01-17 19:52:32 -05:00
Behdad Esfahbod
a77bd6bb89 [pragma] GCC diagnostic ignored "-Wclass-memaccess" 2019-01-17 19:33:41 -05:00
Behdad Esfahbod
e1302842d9 [ci] Remove unnecessary warning declarations
clang -Weverything still left to be ported to pragmas
2019-01-17 19:12:07 -05:00
Behdad Esfahbod
436c7b294a [pragma] ignored -Wunsafe-loop-optimizations // TODO fix 2019-01-17 19:03:33 -05:00
Behdad Esfahbod
e3b3181e9d [pragma] error -Wclass-memaccess 2019-01-17 19:02:06 -05:00
Behdad Esfahbod
1a6b97a491 [pragma] More 2019-01-17 18:55:03 -05:00
Behdad Esfahbod
06e8091661 [pragma] More 2019-01-17 18:47:32 -05:00
Behdad Esfahbod
1077e40bf1 [pragma] Flesh out more 2019-01-17 18:36:10 -05:00
Behdad Esfahbod
7e6bd510fc Use NNOffsetTo<> in rest of places 2019-01-17 18:24:18 -05:00
Behdad Esfahbod
b1152d5e66 Use NNOffsetTo<> 2019-01-17 18:17:04 -05:00
Behdad Esfahbod
205d72a198 Add NNOffsetTo<> 2019-01-17 18:10:38 -05:00
Behdad Esfahbod
c99d13d860 [AAT] Comment 2019-01-17 17:56:27 -05:00
Behdad Esfahbod
f39b5603ff Comment 2019-01-17 17:50:01 -05:00
Behdad Esfahbod
347ad454b8 [AAT] Remove unused code 2019-01-17 17:47:29 -05:00
Behdad Esfahbod
b344d4385a [AAT] Allow null in ankr lookupTable offset 2019-01-17 17:44:39 -05:00
Behdad Esfahbod
14a560a245 [pragma GCC] Ignore -Wtype-limits 2019-01-17 17:42:44 -05:00
Behdad Esfahbod
41b4312e93 [ci] Remove -Werror from Travis
hb-machinery.hh:111:37: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]

Also ignore -Wtype-limits.
2019-01-17 16:08:30 -05:00
Behdad Esfahbod
3f2daae630 More GCC pragmas 2019-01-17 15:27:31 -05:00
Behdad Esfahbod
d6c5473e1f Rename macro 2019-01-17 15:22:46 -05:00
Behdad Esfahbod
a9946b7cfe Add more GCC warning pragmas 2019-01-17 15:22:28 -05:00
Behdad Esfahbod
868b0c0c2e Move -Wcast-align to hb.hh 2019-01-17 15:18:18 -05:00
Behdad Esfahbod
8874eef8ff Add pragram GCC diagnostic ignored "-Wunused-macros" 2019-01-17 15:04:44 -05:00
Behdad Esfahbod
cc8e9a436f [AAT] Fully sanitize ankr table at sanitize time
Third try to fix access. Followup 6879efc2c1

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12532
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=922303
2019-01-17 14:55:05 -05:00
Behdad Esfahbod
6879efc2c1 [AAT] Fix anchor bound checking, again
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12532
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=922303
2019-01-17 14:08:02 -05:00
Behdad Esfahbod
a262eb3d0b [aat] Minor 2019-01-17 14:06:32 -05:00
Behdad Esfahbod
c986ca15a6 Improve overflow avoidance
Better fix for 480406cd3e
This way we behave the same on 32bit and 64bit archs.
2019-01-15 13:58:19 -05:00
Behdad Esfahbod
0d2727f4fe
fix FDSelect fuzzing bug (#1539)
Rewrote struct FDSelect3_4.ranges as ArrayOf
Updated FDSelect3_4::sanitize () to call ranges.sanitize ()
nRanges now a function to return a reference to ranges.len
2019-01-14 18:23:17 -08:00
Behdad Esfahbod
9f6172d669 Move _POSIX_SOURCE definition
Fixes https://github.com/harfbuzz/harfbuzz/issues/1308
2019-01-14 20:45:31 -05:00
Behdad Esfahbod
91d774712f [test] Add test for previous commit 2019-01-14 15:31:31 -05:00
Behdad Esfahbod
480406cd3e Fix assertion on address overflow
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=917031
2019-01-14 15:27:34 -05:00
Behdad Esfahbod
7a6686a589 [AAT] Fix mort ContextualSubtable offset access
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12312
2019-01-14 15:09:14 -05:00
Behdad Esfahbod
a3fa7d3336 [AAT] Fix ankr table access
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=918340
2019-01-14 14:37:36 -05:00
Michiharu Ariza
760303d411 deleted a duplicate fontdicts_mod.fini() call (#1538) 2019-01-11 15:27:35 -08:00
Ebrahim Byagowi
5110f3da9a
Add an initial .clang-format config
There are things can be improved on clang-format side I guess before
the full assertion, but is the best we can get for now I guess.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1536
2019-01-09 16:01:11 +03:30