summaryrefslogtreecommitdiffstats
path: root/src/3rdparty
diff options
context:
space:
mode:
authorAndreas Kling <andreas.kling@nokia.com>2010-06-22 07:37:34 (GMT)
committerAndreas Kling <andreas.kling@nokia.com>2010-06-22 07:37:34 (GMT)
commitbae2219587a8c1a4c922d1cde51616e3ea1df370 (patch)
tree07cc9bf0d56b3fa1c0cbdc7eef993aa7ece35d43 /src/3rdparty
parentda024f96bf0969cd0de85389e621a14c3381add8 (diff)
downloadQt-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.c3
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;
}