diff --git a/ChangeLog b/ChangeLog index 4794fdee0..520564a44 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2016-03-30 Werner Lemberg + + * src/pfr/pfrload.c (pfr_aux_name_load): Fix memory leak (#47567). + 2016-03-29 Werner Lemberg * src/base/ftadvance.c (FT_Get_Advances): Fix invalid left shift. diff --git a/src/pfr/pfrload.c b/src/pfr/pfrload.c index 0bee83a01..85920457b 100644 --- a/src/pfr/pfrload.c +++ b/src/pfr/pfrload.c @@ -740,9 +740,8 @@ if ( len > 0 && p[len - 1] == 0 ) len--; - /* check that each character is ASCII for making sure not to - load garbage - */ + /* check that each character is ASCII */ + /* for making sure not to load garbage */ ok = ( len > 0 ); for ( n = 0; n < len; n++ ) if ( p[n] < 32 || p[n] > 127 ) @@ -753,6 +752,9 @@ if ( ok ) { + if ( *astring ) + FT_FREE( *astring ); + if ( FT_ALLOC( result, len + 1 ) ) goto Exit;