Alexei Podtelezhnikov
7d600a022e
* src/truetype/ttinterp.c (Ins_SHZ): Fix the range limit (cont'd).
...
Fixes
https://issues.oss-fuzz.com/issues/505900175
2026-04-23 21:54:58 -04:00
Alexei Podtelezhnikov
1803559c4e
* src/truetype/ttinterp.c (Ins_SHZ): Fix the range limit.
...
Fixes #1419 and #1420 , as well as
https://issues.oss-fuzz.com/issues/499455833
2026-04-22 20:49:51 -04:00
Alexei Podtelezhnikov
7974be74d8
* src/truetype/ttinterp.c (Ins_IUP): Use unsigned counter.
...
Fixes #1421 .
2026-04-22 16:04:14 -04:00
Yaroslav Kolomiiets
f2b3f96901
[build] Add a Plan 9 port.
...
* mkfile: Build instructions.
* build/plan9/p9lib.h: Standard lib replacement.
* build/plan9/README: Docs.
2026-04-22 09:01:21 -04:00
Alexei Podtelezhnikov
ce4105f913
* include/freetype/fttypes.h: Do not include stddef.h.
2026-04-21 19:52:37 -04:00
Werner Lemberg
867c296b90
* src/sfnt/ttsbit.c (tt_face_load_sbix_image): Use FT_MulDiv.
...
Problem reported as
https://issues.oss-fuzz.com/issues/505058300
2026-04-21 22:12:09 +02:00
Alexei Podtelezhnikov
0db9ecac02
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Use unsigned counts.
...
This helps Plan 9 compilation.
2026-04-21 14:00:19 -04:00
Alexei Podtelezhnikov
a6d486002d
* src/truetype/ttdriver.cv (tt_glyph_load): Remover redundancies.
...
Fixes #1417 , found by `cppcheck`.
2026-04-12 22:46:32 -04:00
Alexei Podtelezhnikov
18a463c2fb
* src/sdf/ftsdf.c (sdf_*_to): Remover redundant checks.
...
Fixes #1417 , found by `cppcheck`.
2026-04-12 22:34:21 -04:00
Alexei Podtelezhnikov
ca53609f3c
[pcf] Limit bitmap allocation and loading.
...
Loading huge bitmaps now requires selecting huge size, fixes #1411 .
* src/pcf/pcfread.c (pcf_get_metrics): Remove/delay sanity checks.
* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Sanitize bitmap dimensions.
2026-04-12 12:00:47 -04:00
Alexei Podtelezhnikov
3221895b3f
* src/smooth/ftsmooth.c (ft_smooth_raster_lcd): Fix clip_box.
...
The bug is discussed in #1412 , without security repercussions.
2026-04-11 11:12:02 -04:00
Alexei Podtelezhnikov
32c0722622
* src/type1/t1parse.c (T1_Get_Private_Dict): Minor.
...
Fixes #1416 .
2026-04-11 09:31:18 -04:00
Werner Lemberg
ef54557bda
[autofit] Prevent signed integer overflow.
...
Reported as
https://issues.oss-fuzz.com/issues/499135336
* src/autofit/aflatin.c (af_move_contour_vertically): Use `ADD_LONG`.
2026-04-03 06:27:32 +02:00
Werner Lemberg
cc1adf8d64
[hvf] Correctly initialize driver if no HVF library is available.
...
Since this font driver is by default enabled in `modules.cfg` and its
availability controlled by `FT_CONFIG_OPTION_HVF`, we need to provide some
stubs so that HVF fonts can be correctly rejected if there is no HVF library
available.
Fixes issue #1409 .
* src/hvf/hvfdrv.c (hvf_driver_class): Provide `hvf_face_init` and
`hvf_slot_load_glyph` unconditionally.
* src/hvf/hvfload.c, src/hvf/hvfload.h (hvf_slot_load_glyph)
[!FT_CONFIG_OPTION_HVF]: Define stub.
* src/hvf/hvfobjs.c, src/hvf/hvfobjs.h (hvf_face_init)
[!FT_CONFIG_OPTION_HVF]: Define stub.
2026-04-03 04:20:24 +00:00
Werner Lemberg
675a94f5d0
[autofit] Prevent signed integer overflow.
...
Reported as
https://issues.oss-fuzz.com/issues/496105489
* src/autofit/aflatin.c
(af_glyph_hints_apply_vertical_separation_adjustments): Use `ADD_LONG` and
`SUB_LONG`.
2026-04-02 07:56:04 +02:00
Suzuki, Toshiya (鈴木俊哉)
07d8d50a63
Update some VisualStudio project files to include HVF module.
...
* builds/windows/vc2010/freetype.vcxproj: Add hvf.c before ftlzw.c.
* builds/windows/visualc/freetype.vcproj: Add hvf.c before pcf.c.
* builds/windows/visualce/freetype.vcproj: Add hvf.c before pcf.c.
2026-03-23 19:36:36 +01:00
Debbie Goldsmith
8dff1b4b07
* builds/unix/configure.raw: Handle new HVF driver.
2026-03-23 19:36:36 +01:00
Debbie Goldsmith
2228a8b446
* meson.build, meson_option.txt: Handle new HVF driver.
...
(hvf): New option.
2026-03-23 19:36:36 +01:00
Debbie Goldsmith
39dab7d2cd
* CMakeLists.txt: Handle new HVF driver.
...
(FT_DISABLE_HVF): New option.
2026-03-23 19:36:36 +01:00
Debbie Goldsmith
0c9b8e9e93
Support Hierarchical Variable Fonts (HVF) using Apple's 'libhvf' library.
...
The new 'hvf' module is a thin wrapper around 'libhvf' with the necessary
boilerplate stuff to integrate it into FreeType. Note that this currently
works on macOS >= 15.4 and iOS >= 18.4 only.
* include/freetype/tttags.h (TTAG_hvgl, TTAG_hvpm): New macros.
* include/freetype/config/ftmodule.h: Add `hvf_driver_class`.
* include/freetype/internal/fttrace.h: Add tracing tags `hvfdrv`, `hvfobjs`,
and `hvfload`
* include/freetype/internal/services/svfntfmt.h (FT_FONT_FORMAT_HVF): New
macro.
* modules.cfg (FONT_MODULES): Add `hvf` module.
* src/sfnt/sfobjc.s (sfnt_init_face): Handle 'hvgl' table.
* src/hvf/*: New files.
2026-03-23 19:36:36 +01:00
Debbie Goldsmith
00e6a1bca9
Add flag FT_CONFIG_OPTION_HVF.
...
This flag is going to be used to conditionally compile support for Apple's
Hierarchical Variable Font (HVF) format.
* devel/ftoption.h, include/freetype/config/ftoption.h
(FT_CONFIG_OPTION_HVF): New flag.
2026-03-23 19:36:36 +01:00
Alexei Podtelezhnikov
eb13f81a48
* src/truetype/ttinterp.c (TT_MulFix14_i386): Typo.
...
Fixes #1408 .
2026-03-23 14:26:02 -04:00
Rudi Heitbaum
a3c1a452df
* src/base/ftstroke.c (ft_stroke_border_get_counts): Remove variable.
2026-03-23 10:44:12 -04:00
Werner Lemberg
0a0221a134
* Version 2.14.3 released.
...
==========================
Tag sources with `VER-2-14-3'.
* docs/VERSION.TXT: Add entry for version 2.14.3.
* docs/CHANGES: Updated.
* docs/release, docs/README, builds/macs/README: Updated.
* README, src/base/ftver.rc, builds/windows/vc2010/index.html,
builds/windows/visualc/index.html, builds/windows/visualce/index.html,
builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/index.html,
docs/freetype-config.1: s/2.14.2/2.14.3/, s/2142/2143/.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
* builds/unix/configure.raw (version_info): Set to 26:6:20.
* CMakeLists.txt (VERSION_PATCH): Set to 3.
2026-03-22 16:07:10 +01:00
Werner Lemberg
402fa01ad9
* subprojects/harfbuzz.wrap: Updated.
2026-03-22 15:51:57 +01:00
David Pokora
67c52a0b68
[psaux] Avoid stack overflow.
...
* src/psaux/t1.decode.c (t1_decoder_parse_charstrings) [op_pop]: Check stack
size.
Fixes issue #1406 .
2026-03-22 06:28:57 +01:00
Werner Lemberg
238dd13d7d
* src/psaux/t1decide.c (t1_decoder_parse_charstrings): Fix bounds check.
...
During charstring processing, the `decoder->len_buildchar` field can be
corrupted. Avoid this by caching this value in a local variable at function
entry.
Based on a patch submitted by David Pokora <david.pokora@trailofbits.com>.
Fixes issue #1405 .
2026-03-22 06:22:31 +01:00
Werner Lemberg
78d65241aa
ttnameid.h: Minor documentation improvement.
2026-03-20 08:06:02 +01:00
Werner Lemberg
4130e62d23
* src/sdf/ftsdf.c (sdf_generate_bounding_box): Fix thinko.
...
Bug introduced in commit bda1d87f69 .
We would need an `FT_NEW_ARRAY_MULT` array...
Reported as
https://issues.oss-fuzz.com/issues/494362618
2026-03-20 07:47:10 +01:00
Alexei Podtelezhnikov
3d7c50d13c
[sfnt/COLRv0] Revise sanity checks.
...
This re-implements 6d62076a and potentially fixes #1404 .
* src/sfnt/ttcolr.c (tt_face_get_colr_layer): Rely on validated total num_layers.
2026-03-19 12:26:32 -04:00
Alexei Podtelezhnikov
5846b6eda6
* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Fix allocation.
...
Fixes #1403 , proposed by Chris Anderson.
2026-03-19 08:18:59 -04:00
Werner Lemberg
bda1d87f69
* src/sdf/ftsdf.c (sdf_generate_bounding_box): Fix allocation.
...
Reported in
https://mail.gnu.org/archive/html/freetype-devel/2026-02/msg00005.html
2026-03-18 14:45:57 +01:00
Werner Lemberg
264b5fbf5b
Update all copyright notices.
2026-03-11 17:27:07 +01:00
Alexei Podtelezhnikov
99b479dc34
.gitlab-ci.yml: Upgrade Windows pipelines.
2026-03-10 12:17:14 -04:00
Alexei Podtelezhnikov
dc17b79e1a
[base] Reintroduce overall rendering limits.
...
* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Limit absolute
outline coordinnates to prevent integer issues downstream.
2026-03-09 22:53:06 -04:00
Alexei Podtelezhnikov
e7d2cc6466
* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fix memory leak.
...
This leak was introduced in 85c8efe0af by overlooking the
direct `ft_bitmap_glyph_init` call (now gone). Fixes #1399 ,
also reported earlier:
https://issues.oss-fuzz.com/issues/482909897 .
2026-03-09 22:14:01 -04:00
Alexei Podtelezhnikov
06ec4ef453
* src/raster/ftraster.c (Conic_To, Cubic_To): Avoid UB.
...
Fixes #1396 .
2026-03-09 20:22:45 -04:00
Alexei Podtelezhnikov
bf18015d3a
[stroker] Actually validate outlines.
...
Fixes #1400 .
* src/base/ftstroke.c (FT_Glyph_Stroke): Check for `GetCount` error.
(ft_stroke_border_get_counts): Actually return expected error.
(FT_Glyph_Stroke): Minor.
2026-03-09 19:53:30 -04:00
Miguel Sousa
93e7335adb
* src/sfnt/ttobjs.c (tt_size_init_bytecode): Be more generous.
...
Fixes issue #1137 .
2026-03-09 21:08:10 +01:00
Werner Lemberg
1c6e43ab90
* src/sfnt/ttgpos.c (tt_face_load_gpos): Correctly release gpos.
...
This is a follow-up to issue #1398 .
2026-03-09 20:34:55 +01:00
Dominik Röttsches
45556a19aa
[sfnt] Use array count in sanitization of BaseGlyphPaintRecord list.
...
* src/sfnt/ttcolr.c (tt_face_load_colr): Compute correct length
of `BaseGlyphPaintRecord` array size.
Fixes issue #1397 .
2026-03-09 10:44:19 +01:00
Werner Lemberg
a1079b181e
* src/sfnt/ttgpos.c (tt_face_validate_pair_pos2): Correct limit check.
...
Fixes issue #1398 .
2026-03-09 05:50:43 +01:00
Werner Lemberg
6dc80885f4
* src/truetype/ttgload.c (load_truetype_glyph): Limit recursion.
...
Fixes issue #1395 .
2026-03-09 05:35:01 +01:00
Alexei Podtelezhnikov
31401a3b2d
* src/raster/ftraster.c (Set_High_Precision): Limit size.
...
This should avoid integer overflows:
https://issues.oss-fuzz.com/issues/490433932
https://issues.oss-fuzz.com/issues/490464129
2026-03-07 22:46:57 -05:00
Werner Lemberg
aa8ca27f9b
[cid] Add boundary check in incremental interface.
...
* src/cid/cidgload.c (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL]:
Validate `fd_select`.
Fixes issue #1394 .
2026-03-06 07:17:59 +01:00
Werner Lemberg
5d249d8402
* src/sfnt/ttgpos.c (tt_face_get_pair_pos1_kerning): Typo.
...
This could lead to make FreeType miss some kerning pairs.
Fixes issue #1393 .
2026-03-06 06:55:07 +01:00
Werner Lemberg
b2c8a031a2
* src/sfnt/ttgpos.c (tt_face_get_class): Fix range check.
...
Fixes issue #1392 .
2026-03-06 06:32:10 +01:00
Alexei Podtelezhnikov
6995a34628
[base] Adjust rendering limits.
...
* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Check width and
height directly. Fixes #1390 .
2026-03-05 19:55:31 -05:00
Debbie Goldsmith
d262bd978c
[truetype] Reject fonts without 'glyf' and 'loca' table.
...
* src/truetype/ttobjs.c (tt_face_init): Add check.
2026-03-03 10:39:04 +01:00
Werner Lemberg
02f71ec67a
Minor whitespace.
2026-03-03 08:00:15 +01:00