File tree Expand file tree Collapse file tree 1 file changed +7
-6
lines changed Expand file tree Collapse file tree 1 file changed +7
-6
lines changed Original file line number Diff line number Diff line change @@ -1020,6 +1020,10 @@ impl TreeSequence {
10201020 handle_tsk_return_value ! ( rv, treeseq)
10211021 }
10221022
1023+ fn new_uninit ( ) -> Self {
1024+ Self :: wrap ( )
1025+ }
1026+
10231027 /// Dump the tree sequence to file.
10241028 ///
10251029 /// # Note
@@ -1190,12 +1194,9 @@ impl TreeSequence {
11901194 options : O ,
11911195 idmap : bool ,
11921196 ) -> Result < ( Self , Option < Vec < NodeId > > ) , TskitError > {
1193- let mut tables = TableCollection :: new ( unsafe { ( * ( * self . inner ) . tables ) . sequence_length } ) ?;
1194- match tables. build_index ( ) {
1195- Ok ( _) => ( ) ,
1196- Err ( e) => return Err ( e) ,
1197- }
1198- let mut ts = tables. tree_sequence ( TreeSequenceFlags :: default ( ) ) ?;
1197+ // The output is an UNINITIALIZED treeseq,
1198+ // else we leak memory.
1199+ let mut ts = Self :: new_uninit ( ) ;
11991200 let mut output_node_map: Vec < NodeId > = vec ! [ ] ;
12001201 if idmap {
12011202 output_node_map. resize ( usize:: try_from ( self . nodes ( ) . num_rows ( ) ) ?, NodeId :: NULL ) ;
You can’t perform that action at this time.
0 commit comments