| Index: courgette/ensemble_create.cc
|
| ===================================================================
|
| --- courgette/ensemble_create.cc (revision 75361)
|
| +++ courgette/ensemble_create.cc (working copy)
|
| @@ -351,6 +351,9 @@
|
| if (delta2_status != C_OK)
|
| return delta2_status;
|
|
|
| + // Last use, free storage.
|
| + linearized_predicted_transformed_elements.Retire();
|
| +
|
| //
|
| // Generate sub-patch for whole enchilada.
|
| //
|
| @@ -381,8 +384,12 @@
|
| if (!corrected_transformed_elements_source_set.Empty())
|
| return C_STREAM_NOT_CONSUMED;
|
|
|
| + // No more references to this stream's buffer.
|
| + linearized_corrected_transformed_elements.Retire();
|
| +
|
| FreeGenerators(&generators);
|
|
|
| + size_t final_patch_input_size = predicted_ensemble.Length();
|
| SourceStream predicted_ensemble_source;
|
| predicted_ensemble_source.Init(predicted_ensemble);
|
| Status delta3_status = GenerateSimpleDelta(&predicted_ensemble_source,
|
| @@ -401,6 +408,7 @@
|
| CalculateCrc(old_region.start(), old_region.length()));
|
| final_patch->WriteVarint32(
|
| CalculateCrc(new_region.start(), new_region.length()));
|
| + final_patch->WriteSizeVarint32(final_patch_input_size);
|
|
|
| if (!patch_streams.CopyTo(final_patch))
|
| return C_STREAM_ERROR;
|
|
|