Revision 4805bb66 block/qcow2-cluster.c

b/block/qcow2-cluster.c
750 750
    while (i < nb_clusters) {
751 751
        i += count_contiguous_clusters(nb_clusters - i, s->cluster_size,
752 752
                &l2_table[l2_index], i, 0);
753

  
754
        if(be64_to_cpu(l2_table[l2_index + i]))
753
        if ((i >= nb_clusters) || be64_to_cpu(l2_table[l2_index + i])) {
755 754
            break;
755
        }
756 756

  
757 757
        i += count_contiguous_free_clusters(nb_clusters - i,
758 758
                &l2_table[l2_index + i]);
759
        if (i >= nb_clusters) {
760
            break;
761
        }
759 762

  
760 763
        cluster_offset = be64_to_cpu(l2_table[l2_index + i]);
761 764

  
......
763 766
                (cluster_offset & QCOW_OFLAG_COMPRESSED))
764 767
            break;
765 768
    }
769
    assert(i <= nb_clusters);
766 770
    nb_clusters = i;
767 771

  
768 772
    /*

Also available in: Unified diff