From 6ea2875349bfb4dab76a0f3a8ec774e7be73924c Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Mon, 7 May 2012 14:57:01 +0400 Subject: [PATCH] gui/osdlang_setup.cpp: fix memleak - with dynamic menus locale = strdup never freed Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/5cb86b5857efe35b2b7edb71314e3bc54a340974 Author: [CST] Focus Date: 2012-05-07 (Mon, 07 May 2012) --- src/gui/osdlang_setup.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/gui/osdlang_setup.cpp b/src/gui/osdlang_setup.cpp index 0d51e0572..fd38e59f2 100644 --- a/src/gui/osdlang_setup.cpp +++ b/src/gui/osdlang_setup.cpp @@ -171,18 +171,14 @@ void COsdLangSetup::showLanguageSetup(CMenuWidget *osdl_setup) { for (int count=0; countd_name); + char * locale = namelist[count]->d_name; char * pos = strstr(locale, ".locale"); if (pos != NULL) { - char iname[50]; *pos = '\0'; - sprintf(iname, "%s", locale); - CMenuOptionLanguageChooser* oj = new CMenuOptionLanguageChooser((char*)locale, this, iname); - oj->addOption(locale); + CMenuOptionLanguageChooser* oj = new CMenuOptionLanguageChooser((char*)locale, this, locale); osdl_setup->addItem( oj ); - } else - free(locale); + } free(namelist[count]); } free(namelist);