Compiling (with gcc-4.9-
20150603) produces an error because of an access beyond
the end of an array. This patch fixes the error by initializing the loop
control/array index variable (i) to 1 and returning i - 1 when a match is found.
Also, because the values stored in the array increase in value as the index
increases, the >= test unnecessary, so it is removed.
{
int i;
- for (i = 0; i < self->n_partitions; i++) {
- if (offset >= self->partition_offset[i] &&
- offset < self->partition_offset[i + 1])
- return i;
+ for (i = 1; i < self->n_partitions; i++) {
+ if (offset < self->partition_offset[i])
+ return i - 1;
}
- return i;
+ return i - 1;
}
static gsize