Fix hang in OOM situations

Fixes https://github.com/behdad/harfbuzz/issues/161
pull/155/head^2
Behdad Esfahbod 9 years ago
parent f92bd86cc8
commit f0599db761
  1. 6
      src/hb-buffer-private.hh

@ -174,7 +174,11 @@ struct hb_buffer_t {
if (have_output) if (have_output)
{ {
if (unlikely (out_info != info || out_len != idx)) { 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_info[out_len] = info[idx];
} }
out_len++; out_len++;

Loading…
Cancel
Save