From f3b20b809d6fb0b4fd886e4a7658df87760342e9 Mon Sep 17 00:00:00 2001 From: Celine Mercier Date: Wed, 27 Apr 2016 14:01:36 +0200 Subject: [PATCH] Fixed bug with indexer names being defined and generating seg fault if creating a column not using indexers --- src/obidmscolumn.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/obidmscolumn.c b/src/obidmscolumn.c index 3a8b689..4e205e4 100644 --- a/src/obidmscolumn.c +++ b/src/obidmscolumn.c @@ -587,16 +587,19 @@ OBIDMS_column_p obi_create_column(OBIDMS_p dms, } // Build the indexer name if needed - if (((data_type == OBI_STR) || (data_type == OBI_SEQ)) && (strcmp(indexer_name, "") == 0)) + if ((data_type == OBI_STR) || (data_type == OBI_SEQ)) { - final_indexer_name = obi_build_indexer_name(column_name, version_number); - if (final_indexer_name == NULL) - return NULL; - } - else - { - final_indexer_name = (char*) malloc((strlen(indexer_name)+1)*sizeof(char)); - strcpy(final_indexer_name, indexer_name); + if (strcmp(indexer_name, "") == 0) + { + final_indexer_name = obi_build_indexer_name(column_name, version_number); + if (final_indexer_name == NULL) + return NULL; + } + else + { + final_indexer_name = (char*) malloc((strlen(indexer_name)+1)*sizeof(char)); + strcpy(final_indexer_name, indexer_name); + } } returned_data_type = data_type;