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 pin_info *pi;
|
||||
sc_macro_t *mi;
|
||||
sc_template_t *ti;
|
||||
|
||||
if (profile->name)
|
||||
free(profile->name);
|
||||
|
||||
free_file_list(&profile->ef_list);
|
||||
|
||||
@ -350,10 +355,26 @@ sc_profile_free(struct sc_profile *profile)
|
||||
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) {
|
||||
profile->pin_list = pi->next;
|
||||
if (pi->file_name)
|
||||
free(pi->file_name);
|
||||
profile->pin_list = pi->next;
|
||||
free(pi);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user