diff options
author | Andreas Kling <andreas.kling@nokia.com> | 2010-06-22 07:37:34 (GMT) |
---|---|---|
committer | Andreas Kling <andreas.kling@nokia.com> | 2010-06-22 07:37:34 (GMT) |
commit | bae2219587a8c1a4c922d1cde51616e3ea1df370 (patch) | |
tree | 07cc9bf0d56b3fa1c0cbdc7eef993aa7ece35d43 /src/3rdparty | |
parent | da024f96bf0969cd0de85389e621a14c3381add8 (diff) | |
download | Qt-bae2219587a8c1a4c922d1cde51616e3ea1df370.zip Qt-bae2219587a8c1a4c922d1cde51616e3ea1df370.tar.gz Qt-bae2219587a8c1a4c922d1cde51616e3ea1df370.tar.bz2 |
Clean up HB_Anchor's DeviceTables on failure when loading format 3
Diffstat (limited to 'src/3rdparty')
-rw-r--r-- | src/3rdparty/harfbuzz/src/harfbuzz-gpos.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c index d6f9207..a216005 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c +++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c @@ -637,7 +637,7 @@ static HB_Error Load_Anchor( HB_Anchor* an, if ( FILE_Seek( new_offset ) || ( error = _HB_OPEN_Load_Device( &an->af.af3.DeviceTables[AF3_X_DEVICE_TABLE], stream ) ) != HB_Err_Ok ) - return error; + goto Fail2; (void)FILE_Seek( cur_offset ); } @@ -695,6 +695,7 @@ Fail: if ( an->af.af3.DeviceTables ) _HB_OPEN_Free_Device( an->af.af3.DeviceTables[AF3_X_DEVICE_TABLE] ); +Fail2: FREE( an->af.af3.DeviceTables ); return error; } |