[lzw] Preserve decompression stack when relocating to heap.
* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Copy stack when relocating to heap.
This commit is contained in:
parent
c213c8a9bb
commit
f631542dae
|
@ -1,3 +1,10 @@
|
||||||
|
2021-04-27 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||||
|
|
||||||
|
[lzw] Preserve decompression stack when relocating to heap.
|
||||||
|
|
||||||
|
* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Copy stack when
|
||||||
|
relocating to heap.
|
||||||
|
|
||||||
2021-04-27 Alexei Podtelezhnikov <apodtele@gmail.com>
|
2021-04-27 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||||
|
|
||||||
* src/cid/cidgload.c (cid_load_glyph): Restore the glyph_length check.
|
* src/cid/cidgload.c (cid_load_glyph): Restore the glyph_length check.
|
||||||
|
|
|
@ -127,6 +127,7 @@
|
||||||
|
|
||||||
new_size = new_size + ( new_size >> 1 ) + 4;
|
new_size = new_size + ( new_size >> 1 ) + 4;
|
||||||
|
|
||||||
|
/* if relocating to heap */
|
||||||
if ( state->stack == state->stack_0 )
|
if ( state->stack == state->stack_0 )
|
||||||
{
|
{
|
||||||
state->stack = NULL;
|
state->stack = NULL;
|
||||||
|
@ -142,9 +143,13 @@
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( FT_RENEW_ARRAY( state->stack, old_size, new_size ) )
|
if ( FT_QRENEW_ARRAY( state->stack, old_size, new_size ) )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
/* if relocating to heap */
|
||||||
|
if ( old_size == 0 )
|
||||||
|
FT_MEM_COPY( state->stack, state->stack_0, FT_LZW_DEFAULT_STACK_SIZE );
|
||||||
|
|
||||||
state->stack_size = new_size;
|
state->stack_size = new_size;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue