item_check_present(&tree, middle + idx);
        item_check_absent(&tree, middle + up);
 
-       item_gang_check_present(&tree, middle - down,
-                       up + down, chunk, hop);
-       item_full_scan(&tree, middle - down, down + up, chunk);
+       if (chunk > 0) {
+               item_gang_check_present(&tree, middle - down, up + down,
+                               chunk, hop);
+               item_full_scan(&tree, middle - down, down + up, chunk);
+       }
        item_kill_tree(&tree);
 }
 
 void gang_check(void)
 {
-       __gang_check(1 << 30, 128, 128, 35, 2);
-       __gang_check(1 << 31, 128, 128, 32, 32);
-       __gang_check(1 << 31, 128, 128, 32, 100);
-       __gang_check(1 << 31, 128, 128, 17, 7);
-       __gang_check(0xffff0000, 0, 65536, 17, 7);
-       __gang_check(0xfffffffe, 1, 1, 17, 7);
+       __gang_check(1UL << 30, 128, 128, 35, 2);
+       __gang_check(1UL << 31, 128, 128, 32, 32);
+       __gang_check(1UL << 31, 128, 128, 32, 100);
+       __gang_check(1UL << 31, 128, 128, 17, 7);
+       __gang_check(0xffff0000UL, 0, 65536, 17, 7);
+       __gang_check(0xfffffffeUL, 1, 1, 17, 7);
 }
 
 void __big_gang_check(void)