mirror of
https://github.com/topjohnwu/selinux.git
synced 2025-02-15 08:47:55 +00:00
libsepol/cil: avoid freeing uninitialized values
cil_resolve_ast() begins by checking whether one of its parameters is NULL and "goto exit;" when it is the case. As extra_args has not been initialized there, this leads to calling cil_destroy_tree_node_stack(), __cil_ordered_lists_destroy()... on garbage values. In practise this cannot happen because cil_resolve_ast() is only called by cil_compile() after cil_build_ast() succeeded. As the if condition exists nonetheless, fix the body of the if block in order to silence a warning reported by clang Static Analyzer. Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
This commit is contained in:
parent
0864814583
commit
6707526f1f
@ -3797,7 +3797,7 @@ int cil_resolve_ast(struct cil_db *db, struct cil_tree_node *current)
|
||||
uint32_t changed = 0;
|
||||
|
||||
if (db == NULL || current == NULL) {
|
||||
goto exit;
|
||||
return rc;
|
||||
}
|
||||
|
||||
extra_args.db = db;
|
||||
|
Loading…
x
Reference in New Issue
Block a user