From 0509e8ad099a0e6755b7667b067c8c9303348ec8 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Tue, 2 Oct 2012 16:11:09 +0200 Subject: Fix segfault on failed indexing --- libcrystfel/src/cell-utils.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'libcrystfel/src') diff --git a/libcrystfel/src/cell-utils.c b/libcrystfel/src/cell-utils.c index 3aaae90e..ae06774a 100644 --- a/libcrystfel/src/cell-utils.c +++ b/libcrystfel/src/cell-utils.c @@ -683,13 +683,21 @@ UnitCell *match_cell(UnitCell *cell_in, UnitCell *template_in, int verbose, free(cand[2]); /* Reverse the de-centering transformation */ - new_cell_trans = cell_transform_inverse(new_cell, uncentering); - cell_free(new_cell); - cell_set_lattice_type(new_cell, cell_get_lattice_type(template_in)); - cell_set_centering(new_cell, cell_get_centering(template_in)); - cell_set_unique_axis(new_cell, cell_get_unique_axis(template_in)); + if ( new_cell != NULL ) { - return new_cell_trans; + new_cell_trans = cell_transform_inverse(new_cell, uncentering); + cell_free(new_cell); + cell_set_lattice_type(new_cell, + cell_get_lattice_type(template_in)); + cell_set_centering(new_cell, cell_get_centering(template_in)); + cell_set_unique_axis(new_cell, + cell_get_unique_axis(template_in)); + + return new_cell_trans; + + } else { + return NULL; + } } -- cgit v1.2.3