need release bitbuffer even in error cases in write_bitbuffer_()
diff --git a/src/libFLAC/stream_encoder.c b/src/libFLAC/stream_encoder.c
index f4f910b..e07ecfb 100644
--- a/src/libFLAC/stream_encoder.c
+++ b/src/libFLAC/stream_encoder.c
@@ -1617,6 +1617,7 @@
}
if(encoder->private_->write_callback(encoder, buffer, bytes, samples, encoder->private_->current_frame_number, encoder->private_->client_data) != FLAC__STREAM_ENCODER_WRITE_STATUS_OK) {
+ FLAC__bitbuffer_release_buffer(encoder->private_->frame);
encoder->protected_->state = FLAC__STREAM_ENCODER_FATAL_ERROR_WHILE_WRITING;
return false;
}