summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Kling <andreas.kling@nokia.com>2010-06-22 07:34:25 (GMT)
committerAndreas Kling <andreas.kling@nokia.com>2010-06-22 07:36:19 (GMT)
commit155980e2e983f1f567227839bc0712b4e3221700 (patch)
tree0e3b6ec73445feb20ea09e11450c5fda3db65707
parent9e99a1e74a54505fde33014613c7f9b39e4212b1 (diff)
downloadQt-155980e2e983f1f567227839bc0712b4e3221700.zip
Qt-155980e2e983f1f567227839bc0712b4e3221700.tar.gz
Qt-155980e2e983f1f567227839bc0712b4e3221700.tar.bz2
Clean up HB_Anchor's DeviceTables on failure when loading format 3
-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;
}