From 22a67885e1f1a763d21ae124a70b61cb1f9ffb19 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 8 Feb 2018 17:16:56 -0600 Subject: [PATCH] Fix memory leak in `term_env` Use wcstring/string instead of a character array. The variable `term_env` was not being freed before the function exited. Fixes defect 7520324 in coverity scan. --- src/env.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/env.cpp b/src/env.cpp index 7fbac6d9a..13f694c0e 100644 --- a/src/env.cpp +++ b/src/env.cpp @@ -548,8 +548,8 @@ static bool initialize_curses_using_fallback(const char *term) { auto term_var = env_get(L"TERM"); if (term_var.missing_or_empty()) return false; - const char *term_env = wcs2str(term_var->as_string()); - if (!strcmp(term_env, DEFAULT_TERM1) || !strcmp(term_env, DEFAULT_TERM2)) return false; + auto term_env = wcs2string(term_var->as_string()); + if (term_env != DEFAULT_TERM1 || term_env != DEFAULT_TERM2) return false; if (is_interactive_session) debug(1, _(L"Using fallback terminal type '%s'."), term);