Fix use of uninitialized memory.

* src/psaux/psintrp.c (cf2_interpT2CharString): The call to
`cf2_arrstack_setCount' may fail because the allocator ran out of
memory.  When this happens the stack is still written to before the
error condition is checked.  This means that FreeType writes outside
of allocated memory.  This commit moves the error check prior to the
stack assignment, hence the function now properly returns with an
error condition.
cmakelists-updates
Sebastian Rasmussen 6 years ago committed by Werner Lemberg
parent 6d65c60fca
commit 6a4718a3a0
  1. 12
      ChangeLog
  2. 6
      src/psaux/psintrp.c

@ -1,3 +1,15 @@
2019-03-05 Sebastian Rasmussen <sebras@gmail.com>
[psaux] Fix use of uninitialized memory.
* src/psaux/psintrp.c (cf2_interpT2CharString): The call to
`cf2_arrstack_setCount' may fail because the allocator ran out of
memory. When this happens the stack is still written to before the
error condition is checked. This means that FreeType writes outside
of allocated memory. This commit moves the error check prior to the
stack assignment, hence the function now properly returns with an
error condition.
2019-02-23 Werner Lemberg <wl@gnu.org>
* src/base/ftbitmap.c (FT_Bitmap_Blend): No fractional offsets.

@ -612,14 +612,14 @@
cf2_arrstack_setCount( &subrStack, CF2_MAX_SUBR + 1 );
charstring = (CF2_Buffer)cf2_arrstack_getBuffer( &subrStack );
*charstring = *buf; /* structure copy */
charstringIndex = 0; /* entry is valid now */
/* catch errors so far */
if ( *error )
goto exit;
*charstring = *buf; /* structure copy */
charstringIndex = 0; /* entry is valid now */
/* main interpreter loop */
while ( 1 )
{

Loading…
Cancel
Save