[hb-old] Fix misc leaks
Backport (forward-port?!) from upstream: commit 3ab7b37bdebf0f8773493a1fee910b151c4de30f Author: Behdad Esfahbod <behdad@behdad.org> Date: Mon Jul 30 10:50:22 2012 -0400 Fix misc leaks https://bugs.freedesktop.org/show_bug.cgi?id=31992 https://bugs.freedesktop.org/show_bug.cgi?id=31993 https://bugs.freedesktop.org/show_bug.cgi?id=31994 https://bugs.freedesktop.org/show_bug.cgi?id=31995
This commit is contained in:
parent
3f4764bb56
commit
f2377155e3
|
@ -1111,16 +1111,22 @@ HB_Bool HB_ArabicShape(HB_ShaperItem *item)
|
|||
|
||||
if (HB_SelectScript(item, item->item.script == HB_Script_Arabic ? arabic_features : syriac_features)) {
|
||||
HB_Bool ot_ok;
|
||||
if (arabicSyriacOpenTypeShape(item, &ot_ok))
|
||||
if (arabicSyriacOpenTypeShape(item, &ot_ok)) {
|
||||
HB_FREE_STACKARRAY(shapedChars);
|
||||
return TRUE;
|
||||
if (ot_ok)
|
||||
}
|
||||
if (ot_ok) {
|
||||
HB_FREE_STACKARRAY(shapedChars);
|
||||
return FALSE;
|
||||
/* fall through to the non OT code*/
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (item->item.script != HB_Script_Arabic)
|
||||
if (item->item.script != HB_Script_Arabic) {
|
||||
HB_FREE_STACKARRAY(shapedChars);
|
||||
return HB_BasicShape(item);
|
||||
}
|
||||
|
||||
shapedString(item->string, item->stringLength, item->item.pos, item->item.length, shapedChars, &slen,
|
||||
item->item.bidiLevel % 2,
|
||||
|
|
|
@ -5171,13 +5171,13 @@ static HB_Error Lookup_ChainContextPos2(
|
|||
if ( error )
|
||||
return error;
|
||||
|
||||
if (ccpf2->MaxInputLength < 1)
|
||||
return HB_Err_Not_Covered;
|
||||
|
||||
if ( ALLOC_ARRAY( backtrack_classes, ccpf2->MaxBacktrackLength, HB_UShort ) )
|
||||
return error;
|
||||
known_backtrack_classes = 0;
|
||||
|
||||
if (ccpf2->MaxInputLength < 1)
|
||||
return HB_Err_Not_Covered;
|
||||
|
||||
if ( ALLOC_ARRAY( input_classes, ccpf2->MaxInputLength, HB_UShort ) )
|
||||
goto End3;
|
||||
known_input_classes = 1;
|
||||
|
|
|
@ -3158,13 +3158,13 @@ static HB_Error Lookup_ChainContextSubst2( HB_GSUBHeader* gsub,
|
|||
if ( error )
|
||||
return error;
|
||||
|
||||
if (ccsf2->MaxInputLength < 1)
|
||||
return HB_Err_Not_Covered;
|
||||
|
||||
if ( ALLOC_ARRAY( backtrack_classes, ccsf2->MaxBacktrackLength, HB_UShort ) )
|
||||
return error;
|
||||
known_backtrack_classes = 0;
|
||||
|
||||
if (ccsf2->MaxInputLength < 1)
|
||||
return HB_Err_Not_Covered;
|
||||
|
||||
if ( ALLOC_ARRAY( input_classes, ccsf2->MaxInputLength, HB_UShort ) )
|
||||
goto End3;
|
||||
known_input_classes = 1;
|
||||
|
|
|
@ -113,6 +113,7 @@ static HB_Bool tibetan_shape_syllable(HB_Bool openType, HB_ShaperItem *item, HB_
|
|||
|
||||
if (item->num_glyphs < item->item.length + 4) {
|
||||
item->num_glyphs = item->item.length + 4;
|
||||
HB_FREE_STACKARRAY(reordered);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue