diff options
-rw-r--r-- | src/storage/phrase_index.cpp | 6 | ||||
-rw-r--r-- | utils/storage/export_interpolation.cpp | 1 | ||||
-rw-r--r-- | utils/utils_helper.h | 1 |
3 files changed, 7 insertions, 1 deletions
diff --git a/src/storage/phrase_index.cpp b/src/storage/phrase_index.cpp index 930d606..5fe61c2 100644 --- a/src/storage/phrase_index.cpp +++ b/src/storage/phrase_index.cpp @@ -458,8 +458,12 @@ bool SubPhraseIndex::merge(PhraseIndexLogger * logger){ olditem.m_chunk.set_chunk(oldchunk.begin(), oldchunk.size(), NULL); - if (olditem != *tmpitem) + + if (olditem != *tmpitem) { + delete tmpitem; return false; + } + delete tmpitem; break; diff --git a/utils/storage/export_interpolation.cpp b/utils/storage/export_interpolation.cpp index 99c76aa..c43eefb 100644 --- a/utils/storage/export_interpolation.cpp +++ b/utils/storage/export_interpolation.cpp @@ -136,6 +136,7 @@ bool gen_bigram(FILE * output, FacadePhraseIndex * phrase_index, Bigram * bigram } g_array_free(array, TRUE); + delete single_gram; } g_array_free(items, TRUE); diff --git a/utils/utils_helper.h b/utils/utils_helper.h index 86d5849..b91067b 100644 --- a/utils/utils_helper.h +++ b/utils/utils_helper.h @@ -85,6 +85,7 @@ static bool load_phrase_index(const pinyin_table_info_t * phrase_files, bool retval = chunk->load(binfile); if (!retval) { fprintf(stderr, "load %s failed!\n", binfile); + delete chunk; return false; } |