Alexei Podtelezhnikov
41bfbadcd3
* src/bdf/bdflib.c (_bdf_parse_start): Disallow 0 bpp.
2015-06-24 23:57:19 -04:00
Alexei Podtelezhnikov
4308b7b1af
* src/bdf/bdflib.c (_bdf_parse_start): Simplify bpp parsing.
2015-06-24 23:31:17 -04:00
Alexei Podtelezhnikov
adb08efcf1
[bdf,pcf,truetype] NULL.
2015-04-11 23:54:19 -04:00
Werner Lemberg
3c374c8cda
[bdf] Signedness fixes.
...
* src/bdf/bdf.h, src/bdf/bdfdrivr.c, src/bdf/bdfdrivr.h,
src/bdf/bdflib.c: Apply.
2015-02-22 09:16:53 +01:00
Werner Lemberg
b13945a93c
* src/bdf/bdflib.c (_bdf_atous): New function.
...
(_bdf_parse_glyphs, _bdf_parse_start): Use it.
2015-02-22 09:15:47 +01:00
Werner Lemberg
0098d5502d
Uppercase all hex digits for orthogonality.
2014-12-07 11:03:57 +01:00
Werner Lemberg
af8346172a
[bdf] Fix Savannah bug #43660 .
...
* src/bdf/bdflib.c (_bdf_parse_glyphs) <"ENDFONT">: Check
`_BDF_GLYPH_BITS'.
2014-11-22 13:29:10 +01:00
Werner Lemberg
2c4832d309
Fix Savannah bug #43535 .
...
* src/bdf/bdflib.c (_bdf_strncmp): New macro that checks one
character more than `strncmp'.
s/ft_strncmp/_bdf_strncmp/ everywhere.
2014-11-07 07:42:33 +01:00
Sean McBride
b24e8d3356
Remove more clang analyzer warnings.
...
* src/bdf/bdflib.c (_bdf_readstream), src/truetype/ttgload.c
(TT_Load_Glyph): Remove dead stores.
2014-03-06 14:54:22 +01:00
Werner Lemberg
7ac76b50da
Fix several clang static analyzer dead store warnings.
...
* src/autofit/afhints.c (af_glyph_hints_reload,
af_glyph_hints_align_weak_points): Remove unnecessary assignments.
* src/bdf/bdflib.c (bdf_font_load): Ditto.
* src/pshinter/pshalgo.c (psh_glyph_compute_extrema,
psh_glyph_interpolate_other_points): Ditto.
* src/type1/t1load.c (T1_Set_MM_Blend): Ditto.
2014-03-04 04:29:17 +01:00
Werner Lemberg
9a56764037
[bdf] Fix Savannah bug #41692 .
...
bdflib puts data from the input stream into a buffer in chunks of
1024 bytes. The data itself gets then parsed line by line, simply
increasing the current pointer into the buffer; if the search for
the final newline character exceeds the buffer size, more data gets
read.
However, in case the current line's end is very near to the buffer
end, and the keyword to compare with is longer than the current
line's length, an out-of-bounds read might happen since `memcmp'
doesn't stop properly at the string end.
* src/bdf/bdflib.c: s/ft_memcmp/ft_strncmp/ to make comparisons
stop at string ends.
2014-02-26 13:08:07 +01:00
Sean McBride
7be2a94a50
Fix clang static analyzer and compiler warnings.
...
* src/autofit/afhints.c (af_glyph_hints_align_weak_points),
src/autofit/afloader (af_loader_load_g) <FT_GLYPH_FORMAT_COMPOSITE>,
src/base/ftcalc.c (FT_MSB), src/base/ftoutln.c
(FT_Outline_Decompose), src/bdf/bdfdrivr.c (bdf_interpret_style),
src/cff/cffparse.c (cff_parse_integer), src/cid/cidparse.c
(cid_parser_new), src/pfr/pfrload.c (pfr_phy_font_load),
src/raster/ftraster.c (Decompose_Curve), src/sfnt/sfdriver.c
(sfnt_get_ps_name), src/sfnt/ttcmap.c (tt_cmap12_next,
tt_cmap13_next), src/smooth/ftgrays.c (gray_hline): Remove dead
code.
* src/autofit/afmodule.c (af_property_get_face_globals,
af_property_set, af_property_get), src/base/ftbitmap.c
(ft_gray_for_premultiplied_srgb_bgra): Make functions static.
* src/base/ftobjs.c (ft_remove_renderer): Protect against
library == NULL.
(ft_property_do): Make function static.
* src/base/ftrfork.c: Include `ftbase.h'.
* src/sfnt/ttsbit.c (tt_face_load_sbix_image)
[!FT_CONFIG_OPTION_USE_PNG], src/type1/t1gload.c
(T1_Compute_Max_Advance): Avoid compiler warning.
* src/truetype/ttinterp.c (TT_New_Context): Reduce scope of
variable.
2014-02-08 13:55:38 +01:00
Werner Lemberg
badf317840
Next round of compiler fixes.
...
* builds/win32/ftdebug.c, builds/wince/ftdebug.c (ft_debug_init):
Add proper cast.
* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Fix
cast.
* include/freetype/internal/ftstream.h: Decorate stream and frame
macros with `FT_Long' and `FT_ULong' as appropriate.
* src/base/ftrfork.c (raccess_guess_darwin_hfsplus,
raccess_guess_darwin_newvfs): Use cast.
* src/bdf/bdflib.c (_bdf_set_default_spacing): Use cast.
* src/cache/ftcmanag.c (FTC_Manager_Check): Fix cast.
* src/cache/ftcmanag.h (FTC_ManagerRec): Ditto.
* src/cff/cf2arrst.c (cf2_arrstack_setNum_Elements): Use cast.
* src/cff/cf2ft.c (cf2_freeSeacComponent): Ditto.
* src/cff/cffobjs.c (remove_subset_prefix, remove_style): Ditto.
* src/cid/cidparse.c (cid_parser_new): Use cast.
* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Use cast.
* src/psaux/psobjs.c (reallocate_t1_table): Fix argument type.
* src/raster/ftraster.c (ft_black_reset): Use cast.
* src/truetype/ttgxvar.c (FT_Stream_FTell): Use cast.
(ALL_POINTS): Fix cast.
* src/type1/t1driver.c (t1_ps_get_font_value): Add casts.
* src/type1/t1parse.c (T1_Get_Private_Dict): Add cast.
2013-06-06 09:16:38 +02:00
Dave Arnold
c378249e58
Fix more MSVC Win32 compiler warnings.
...
* src/base/ftobjs.c: Fix typo in MS pragma.
* src/base/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
`lineno' is only used in debug mode.
* src/cff/cf2ft.c (cf2_builder_moveTo): `params' is only used in
debug mode.
2013-06-05 19:57:55 +02:00
Werner Lemberg
dc624ca4dc
Apply fixes for cppcheck nitpicks.
...
http://cppcheck.sourceforge.net/
Note that the current version heavily chokes on FreeType, delivering
even wrong results. I will report those issues to the cppcheck team
so that a newer version gives improved results hopefully.
*/* Improve variable scopes.
*/* Remove redundant initializations which get overwritten.
* src/base/ftmac.c ,builds/mac/ftmac.c (count_faces_scalable):
Remove unused variable.
* src/base/ftdbgmem.c (ft_mem_table_destroy): `table' can't be zero.
* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt1_entry_validate):
Remove functionless code.
* src/tools/ftrandom.c (main): Fix memory leak.
2013-06-04 10:30:48 +02:00
Werner Lemberg
04e547bd2c
Fix Savannah bug #38589 .
...
* src/bdf/bdflib.c (_bdf_readstream): Thinko.
2013-04-03 07:37:56 +02:00
Werner Lemberg
e3c9301581
*/*: Use FT_Err_Ok only.
...
This is a purely mechanical conversion.
2013-03-14 11:21:17 +01:00
Werner Lemberg
059bc335ce
*/*: Use `FT_THROW'.
...
This is essentially a mechanical conversion, adding inclusion of
`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
stand-alone compiling modes of the rasterizer modules.
To convert the remaining occurrences of FT_Err_XXX and friends it is
necessary to rewrite the code. Note, however, that it doesn't harm
if some cases are not handled since FT_THROW is a no-op.
2013-03-14 10:27:35 +01:00
Werner Lemberg
a9f6f85e77
Various compiler warning fixes.
...
* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Use
`logical not' operator instead of negation. The idea is that `~'
returns exactly the data type enforced by the cast to a pointer (be
it 32bit or 64bit or whatever), while a negative integer has not
this flexibility.
* src/cache/ftccmap.c (FTC_CMAP_UNKNOWN): Ditto.
* src/truetype/ttgxvar.c (ALL_POINTS, TT_Get_MM_Var): Ditto.
* src/type/t1load.c (T1_Get_MM_Var): Ditto.
(parse_blend_axis_types): Use cast.
* src/bdf/bdflib.c (_bdf_readstream): Use cast.
2012-12-17 09:08:09 +01:00
Werner Lemberg
7f2e4f4f55
[bdf] Fix Savannah bug #37907 .
...
* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
negative second parameter of `ENCODING' field also.
2012-12-15 09:39:41 +01:00
Werner Lemberg
07bdb6e289
[bdf] Fix Savannah bug #37906 .
...
* src/bdf/bdflib.c (_bdf_parse_glyphs): Use correct array size for
checking `glyph_enc'.
2012-12-15 02:02:23 +01:00
Werner Lemberg
9b6b5754b5
[bdf] Fix Savannah bug #37905 .
...
* src/bdf/bdflib.c (_bdf_parse_start): Reset `props_size' to zero in
case of allocation error; this value gets used in a loop in
`bdf_free_font'.
2012-12-15 01:34:41 +01:00
Alexei Podtelezhnikov
0c5789f9c2
[bdflib] Remove redundant macro.
...
* src/bdf/bdflib.c (isdigok): Remove and replace with sbitset, which
is exactly the same.
2012-03-22 07:05:40 +01:00
Werner Lemberg
37b5c92f83
[bdf] Improvement to Savannah bug #35656 .
...
* src/bdf/bdflib.c (isdigok): Add cast, as suggested in report.
2012-03-20 07:23:12 +01:00
Werner Lemberg
649c673a8f
[bdf] Really fix 35658.
...
* src/bdf/bdflib.c (_bdf_list_split): Add one more `field' initializer.
2012-03-16 21:12:41 +01:00
Werner Lemberg
c4cad30ed1
[bdf] Add missing overflow check.
...
* src/bdf/bdflib.c (_bdf_parse_glyphs) <BITMAP>: Add threshold for
`glyph->bpr'.
2012-03-08 20:11:37 +01:00
Werner Lemberg
6ac022dc75
[bdf] Fix Savannah bug #35656 .
...
* src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity
of nibble characters instead of accessing `a2i' array.
2012-03-01 16:43:20 +01:00
Werner Lemberg
d9c1659610
[bdf] Fix Savannah bug #35658 .
...
* src/bdf/bdflib.c (_bdf_list_split): Initialize `field' elements
properly.
2012-03-01 15:15:00 +01:00
Werner Lemberg
cee5d59358
[bdf] Fix Savannah bug #35643 .
...
* src/bdf/bdflib.c (_bdf_list_ensure): Bring code in sync with
comment before `_bdf_list_split', this is, really allocate at least
five `field' elements.
2012-03-01 09:26:03 +01:00
Werner Lemberg
4086fb7caf
[bdf] Fix Savannah bug #35641 .
...
* src/bdf/bdflib.c (_bdf_parse_glyphs) <DWIDTH, BBX>: Abort if
_BDF_ENCODING isn't set. We need this because access to the `glyph'
variable might be undefined otherwise.
2012-03-01 08:55:40 +01:00
Werner Lemberg
03242f58c4
[bdf] Support `ENCODING -1 <n>' format.
...
* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Implement it.
2012-02-26 06:52:56 +01:00
Werner Lemberg
28dd2c4595
[bdf] Fix Savannah bug #35607 .
...
* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
negative encoding values.
2012-02-26 06:18:58 +01:00
Werner Lemberg
0b1c0c6b20
[bdf] Fix Savannah bugs #35599 and #35600 .
...
* src/bdf/bdflib.c (ACMSG16): New warning message.
(_bdf_parse_glyphs) <_BDF_BITMAP>: Check line length.
2012-02-25 10:23:04 +01:00
Werner Lemberg
320d4976d1
[bdf] Fix Savannah bugs #35597 and #35598 .
...
* src/bdf/bdflib.c (_bdf_is_atom): Fix handling of property value.
2012-02-24 18:06:46 +01:00
Werner Lemberg
96fcf87b75
* src/bdf/bdflib.c (_bdf_parse_start): Drop redundant error tracing.
2011-12-08 11:22:07 +01:00
Werner Lemberg
ed54e43aed
[bdf] Fix Savannah bug #34896 .
...
ENCODING now covers the whole Unicode range.
Note, however, that this change is quite expensive since it
increases the size of three arrays by almost 400kByte in total. The
right fix is to replace the logic with something smarter.
Additionally, there exist very old BDFs for three-byte CCCII
encoding which exceeds the range of Unicode (another reason to have
a smarter logic).
* src/bdf/bdf.h (bdf_font_t): Increase size of `nmod' and `umod'
arrays.
* src/bdf/bdflib.c (bdf_parse_t): Increase size of `have' array.
2011-11-27 16:39:53 +01:00
Werner Lemberg
6e0d4cdf0e
[bdf] Improve tracing.
...
* src/bdf/bdflib.c (DBGMSG1, DBGMSG2): New macros.
(_bdf_parse_glyphs): Use them.
2011-11-27 09:21:03 +01:00
Werner Lemberg
e01406bb91
[bdf] Add more error messages.
...
* src/bdf/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
Add line number argument.
Update all callers.
(ERRMSG5, ERRMSG6, ERRMSG7, ERRMSG8, ERRMSG9): New macros.
(_bdf_readstream, _bdf_set_default_spacing, _bdf_add_property,
_bdf_parse_glyphs, _bdf_parse_start): Add error messages.
2011-11-25 09:44:28 +01:00
Werner Lemberg
96ddc679be
Fix Savannah bug #33663 .
...
* src/bdf/bdflib.c (_bdf_parse_glyphs): Handle negative values for
ENCODING correctly.
2011-06-29 09:15:54 +02:00
Werner Lemberg
c8f5b98be2
Remove C++ warnings.
...
*/*: Initialize pointers where necessary to make g++ happy.
2010-07-12 21:13:22 +02:00
Werner Lemberg
b21d7bc567
[bdf]: Font properties are optional.
...
* src/bdf/bdflib.c (_bdf_readstream): Use special error code to
indicate a redo operation.
(_bdf_parse_start): Handle `CHARS' keyword here too and pass current
input line to `_bdf_parse_glyph'.
2010-06-24 07:40:49 +02:00
Werner Lemberg
8c2c2556af
Whitespace.
2010-06-24 07:36:21 +02:00
Werner Lemberg
fb69029a7a
Fix Savannah bug #30220 .
...
* include/freetype/fterrdef.h
(BDF_Err_Missing_Fontboundingbox_Field): New error code.
* src/bdf/bdflib.c (_bdf_parse_start): Check for missing
`FONTBOUNDINGBOX' field.
Avoid memory leak if there are multiple `FONT' lines (which is
invalid but doesn't hurt).
2010-06-23 10:00:52 +02:00
Werner Lemberg
f4c94d4b5f
Fix Savannah bug #30135 .
...
* src/bdf/bdflib.c (_bdf_list_join): Don't modify value in static
string `empty'.
(_bdf_parse_glyph): Avoid memory leak in case of error.
2010-06-19 16:08:31 +02:00
Werner Lemberg
370aea802c
Formatting.
2010-06-08 08:37:11 +02:00
suzuki toshiya
704f4d75cd
[BDF] Modify hash API to take size_t value instead of void *.
2009-09-13 00:50:14 +09:00
suzuki toshiya
be41d3e718
bdf: Improve bdf_property_t.value names for LP64 platforms.
2009-08-01 00:30:22 +09:00
suzuki toshiya
2bbcb7edd8
bdf: Fix some data types mismatching with their sources.
2009-08-01 00:30:15 +09:00
Werner Lemberg
b66efefdcd
Fix some FreeType Coverity issues as reported for Ghostscript.
...
* src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize
`args.stream' (#3874 , #3875 ).
(open_face_PS_from_sfnt_stream): Improve error management (#3786 ).
* src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice'
(#3870 ).
* src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead
code (#3790 ).
* src/base/ftrfork.c (raccess_guess_apple_generic): Check error
value of `FT_Stream_Skip' (#3784 ).
* src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing
it (#3872 )
* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing
it (#3871 ).
* src/pcf/pcfread.c (pcf_get_metrics): Handle return value of
`pcf_get_metric' (#3789 , #3782 ).
(pcf_get_properties): Use FT_STREAM_SKIP (#3783 ).
* src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of
`acache' (#3797 )
* src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff'
(#3796 ).
* src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795 ).
* src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794 ).
* src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom'
(#3793 ).
(_bdf_parse_start): Add comment (#3792 ).
* src/raster/ftraster.c (Finalize_Profile_Table): Check
`ras.fProfile' (#3791 ).
* src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785 ).
* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore
seek error (#3781 ).
2009-03-12 08:07:49 +00:00
Werner Lemberg
5b591e49cf
* include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
...
FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
* src/bdf/bdflib.c (bdf_load_font): Use them.
* src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
2007-06-01 22:16:43 +00:00