Fix hang in OOM situations

Fixes https://github.com/behdad/harfbuzz/issues/161
This commit is contained in:
Behdad Esfahbod 2015-11-05 23:52:41 -08:00
parent f92bd86cc8
commit f0599db761
1 changed files with 5 additions and 1 deletions

View File

@ -174,7 +174,11 @@ struct hb_buffer_t {
if (have_output)
{
if (unlikely (out_info != info || out_len != idx)) {
if (unlikely (!make_room_for (1, 1))) return;
if (unlikely (!make_room_for (1, 1)))
{
idx++; // So we don't hang indefinitely...
return;
}
out_info[out_len] = info[idx];
}
out_len++;