Fix size calculation (missing parenthesis).
diff --git a/lib/zip_source_buffer.c b/lib/zip_source_buffer.c index 44e2c7e..86ed750 100644 --- a/lib/zip_source_buffer.c +++ b/lib/zip_source_buffer.c
@@ -394,7 +394,7 @@ } if ((fragments = realloc(buffer->fragments, sizeof(buffer->fragments[0]) * capacity)) == NULL - || (offsets = realloc(buffer->fragment_offsets, sizeof(buffer->fragment_offsets[0]) * capacity + 1)) == NULL) { + || (offsets = realloc(buffer->fragment_offsets, sizeof(buffer->fragment_offsets[0]) * (capacity + 1))) == NULL) { free(fragments); zip_error_set(error, ZIP_ER_MEMORY, 0); return false;