for (i = 0; i < SYM_NUM; i++) { if (p->sym_val_to_name[i]) kfree(p->sym_val_to_name[i]); } 
for (i = 0; i < SYM_NUM; i++) kfree(p->sym_val_to_name[i]); 
void policydb_destroy(struct policydb *p){	struct ocontext *c, *ctmp;	struct genfs *g, *gtmp;	int i;	for (i = 0; i < SYM_NUM; i++) {		hashtab_map(p->symtab[i].table, destroy_f[i], NULL);		hashtab_destroy(p->symtab[i].table);	}	for (i = 0; i < SYM_NUM; i++) {		if (p->sym_val_to_name[i])			kfree(p->sym_val_to_name[i]);	}	if (p->class_val_to_struct)		kfree(p->class_val_to_struct);	if (p->role_val_to_struct)		kfree(p->role_val_to_struct);	if (p->user_val_to_struct)		kfree(p->user_val_to_struct);	avtab_destroy(&p->te_avtab);	for (i = 0; i < OCON_NUM; i++) {		c = p->ocontexts[i];		while (c) {			ctmp = c;			c = c->next;			ocontext_destroy(ctmp,i);		}	}	g = p->genfs;	while (g) {		kfree(g->fstype);		c = g->head;		while (c) {			ctmp = c;			c = c->next;			ocontext_destroy(ctmp,OCON_FSUSE);		}		gtmp = g;		g = g->next;		kfree(gtmp);	}	cond_policydb_destroy(p);	return;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9a5f04bf798254390f89445ecf0b6f4c70ddc1f8/policydb.c/clean/security/selinux/ss/policydb.c