From 4375bdea3bcdd6f1a98d80842c02bba97a1576d1 Mon Sep 17 00:00:00 2001 From: Al Date: Sun, 21 Aug 2016 19:41:34 -0400 Subject: [PATCH] [transliteration] strduping transliterator name while building table --- src/transliteration_table_builder.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/transliteration_table_builder.c b/src/transliteration_table_builder.c index 331e4107..2df47321 100644 --- a/src/transliteration_table_builder.c +++ b/src/transliteration_table_builder.c @@ -260,7 +260,13 @@ int main(int argc, char **argv) { char_array *trans_key = char_array_from_string(trans_source.name); char_array_cat(trans_key, NAMESPACE_SEPARATOR_CHAR); - transliterator_t *trans = transliterator_new(trans_source.name, trans_source.internal, trans_table->steps->n, trans_source.steps_length); + char *trans_name = strdup(trans_source.name); + if (trans_name == NULL) { + log_error("strdup returned NULL on trans_source.name\n"); + goto exit_teardown; + } + + transliterator_t *trans = transliterator_new(trans_name, trans_source.internal, trans_table->steps->n, trans_source.steps_length); for (int j = 0; j < trans_source.steps_length; j++) { transliteration_step_source_t step_source = steps_source[trans_source.steps_start + j];