fix memory leak
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1950 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
e583473ceb
commit
897ca8eff2
|
@ -342,6 +342,11 @@ sc_profile_free(struct sc_profile *profile)
|
||||||
{
|
{
|
||||||
struct auth_info *ai;
|
struct auth_info *ai;
|
||||||
struct pin_info *pi;
|
struct pin_info *pi;
|
||||||
|
sc_macro_t *mi;
|
||||||
|
sc_template_t *ti;
|
||||||
|
|
||||||
|
if (profile->name)
|
||||||
|
free(profile->name);
|
||||||
|
|
||||||
free_file_list(&profile->ef_list);
|
free_file_list(&profile->ef_list);
|
||||||
|
|
||||||
|
@ -350,10 +355,26 @@ sc_profile_free(struct sc_profile *profile)
|
||||||
free(ai);
|
free(ai);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while ((ti = profile->template_list) != NULL) {
|
||||||
|
profile->template_list = ti->next;
|
||||||
|
if (ti->data)
|
||||||
|
free(ti->data);
|
||||||
|
if (ti->name)
|
||||||
|
free(ti->name);
|
||||||
|
free(ti);
|
||||||
|
}
|
||||||
|
|
||||||
|
while ((mi = profile->macro_list) != NULL) {
|
||||||
|
profile->macro_list = mi->next;
|
||||||
|
if (mi->name)
|
||||||
|
free(mi->name);
|
||||||
|
free(mi);
|
||||||
|
}
|
||||||
|
|
||||||
while ((pi = profile->pin_list) != NULL) {
|
while ((pi = profile->pin_list) != NULL) {
|
||||||
|
profile->pin_list = pi->next;
|
||||||
if (pi->file_name)
|
if (pi->file_name)
|
||||||
free(pi->file_name);
|
free(pi->file_name);
|
||||||
profile->pin_list = pi->next;
|
|
||||||
free(pi);
|
free(pi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue