fixed bug #1939573 - LangDLL Memory leaks
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5766 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
412485144b
commit
26517fe8a3
1 changed files with 10 additions and 8 deletions
|
@ -174,19 +174,19 @@ void __declspec(dllexport) LangDialog(HWND hwndParent, int string_size,
|
|||
|
||||
// fill language struct
|
||||
for (i = 0; i < langs_num; i++) {
|
||||
if (popstring(temp)) return;
|
||||
if (popstring(temp)) { visible_langs_num = 0; break; }
|
||||
langs[visible_langs_num].name = GlobalAlloc(GPTR, lstrlen(temp)+1);
|
||||
if (!langs[visible_langs_num].name) return;
|
||||
if (!langs[visible_langs_num].name) { visible_langs_num = 0; break; }
|
||||
lstrcpy(langs[visible_langs_num].name, temp);
|
||||
|
||||
if (popstring(temp)) return;
|
||||
if (popstring(temp)) { visible_langs_num = 0; break; }
|
||||
langs[visible_langs_num].id = GlobalAlloc(GPTR, lstrlen(temp)+1);
|
||||
if (!langs[visible_langs_num].id) return;
|
||||
if (!langs[visible_langs_num].id) { visible_langs_num = 0; break; }
|
||||
lstrcpy(langs[visible_langs_num].id, temp);
|
||||
|
||||
if (docp)
|
||||
{
|
||||
if (popstring(temp)) return;
|
||||
if (popstring(temp)) { visible_langs_num = 0; break; }
|
||||
langs[visible_langs_num].cp = myatoi(temp);
|
||||
}
|
||||
|
||||
|
@ -203,7 +203,9 @@ void __declspec(dllexport) LangDialog(HWND hwndParent, int string_size,
|
|||
|
||||
// pop the empty string to keep the stack clean
|
||||
if (pop_empty_string) {
|
||||
if (popstring(temp)) return;
|
||||
if (popstring(temp)) {
|
||||
visible_langs_num = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// start dialog
|
||||
|
@ -222,8 +224,8 @@ void __declspec(dllexport) LangDialog(HWND hwndParent, int string_size,
|
|||
|
||||
// free structs
|
||||
for (i = 0; i < visible_langs_num; i++) {
|
||||
GlobalFree(langs[i].name);
|
||||
GlobalFree(langs[i].id);
|
||||
if (langs[i].name) GlobalFree(langs[i].name);
|
||||
if (langs[i].id) GlobalFree(langs[i].id);
|
||||
}
|
||||
GlobalFree(langs);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue