Free buffer->positions, clean up error returns that were returning

Thu May 27 16:57:30 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/otlbuffer.c: Free buffer->positions,
        clean up error returns that were returning uninitialized
        values. (#139239, Behdad Esfahbod)
This commit is contained in:
Owen Taylor 2004-05-27 21:03:42 +00:00 committed by Owen Taylor
parent de568e7e62
commit ef07481025
1 changed files with 13 additions and 8 deletions

View File

@ -29,11 +29,14 @@
while (size > new_allocated)
new_allocated += (new_allocated >> 1) + 8;
if ( FT_REALLOC_ARRAY( buffer->in_string, buffer->allocated, new_allocated, OTL_GlyphItemRec ) )
error = FT_REALLOC_ARRAY( buffer->in_string, buffer->allocated, new_allocated, OTL_GlyphItemRec );
if ( error )
return error;
if ( FT_REALLOC_ARRAY( buffer->out_string, buffer->allocated, new_allocated, OTL_GlyphItemRec ) )
error = FT_REALLOC_ARRAY( buffer->out_string, buffer->allocated, new_allocated, OTL_GlyphItemRec );
if ( error )
return error;
if ( FT_REALLOC_ARRAY( buffer->positions, buffer->allocated, new_allocated, OTL_PositionRec ) )
error = FT_REALLOC_ARRAY( buffer->positions, buffer->allocated, new_allocated, OTL_PositionRec );
if ( error )
return error;
buffer->allocated = new_allocated;
@ -48,7 +51,8 @@
{
FT_Error error;
if ( FT_ALLOC( *buffer, sizeof( OTL_BufferRec ) ) )
error = FT_ALLOC( *buffer, sizeof( OTL_BufferRec ) );
if ( error )
return error;
(*buffer)->memory = memory;
@ -91,6 +95,7 @@
FT_FREE( buffer->in_string );
FT_FREE( buffer->out_string );
FT_FREE( buffer->positions );
FT_FREE( buffer );
return FT_Err_Ok;
@ -117,7 +122,7 @@
OTL_GlyphItem glyph;
error = otl_buffer_ensure( buffer, buffer->in_length + 1 );
if ( error != FT_Err_Ok )
if ( error )
return error;
glyph = &buffer->in_string[buffer->in_length];
@ -165,7 +170,7 @@
FT_UInt cluster;
error = otl_buffer_ensure( buffer, buffer->out_pos + num_out );
if ( error != FT_Err_Ok )
if ( error )
return error;
properties = buffer->in_string[buffer->in_pos].properties;