--- libev/ev.c 2009/07/19 20:39:54 1.308 +++ libev/ev.c 2009/07/26 04:24:17 1.309 @@ -1059,7 +1059,7 @@ { int c = k << 1; - if (c > N + HEAP0 - 1) + if (c >= N + HEAP0) break; c += c + 1 < N + HEAP0 && ANHE_at (heap [c]) > ANHE_at (heap [c + 1])