libsepol: reset pointer after free
In cil_strpool_destroy(), cil_strpool_tab is freed but it is not reset to NULL. When cil_strpool_init() is called again it assumes that cil_strpool_tab was already initialized. Other functions then work with invalid data. Signed-off-by: Jan Zarsky <jzarsky@redhat.com>
This commit is contained in:
parent
53bb2a11c2
commit
1346746d82
|
@ -119,6 +119,7 @@ void cil_strpool_destroy(void)
|
|||
if (cil_strpool_readers == 0) {
|
||||
hashtab_map(cil_strpool_tab, cil_strpool_entry_destroy, NULL);
|
||||
hashtab_destroy(cil_strpool_tab);
|
||||
cil_strpool_tab = NULL;
|
||||
}
|
||||
pthread_mutex_unlock(&cil_strpool_mutex);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue