selinux/libsepol
James Carter 187a44d058 libsepol: Fix module_to_cil's handling of type aliases
Type aliases present a problem for module_to_cil because they are not
in the sym_val_to_name table that it uses to write declarations. Type
aliases are gathered by going through the decl_ids list and then
the alias declaration is written out when the block with that scope
id is handled. This doesn't work if a type alias appears in a require
block, since the require cannot be distinguished from the declaration.
The result is two declarations of the alias and an error when secilc
compiles the policy.

Because of the work cleaning up scope handling, the alias declaration
will always be at the end of the decl_ids list, so now only gather
the last scope id.

Also, when an alias is used in a module it is required as a type and
it will appear in the sym_val_to_name table. When that occurs, just
skip the alias when writing out types.

Signed-off-by: James Carter <jwcart2@tycho.nsa.gov>
2017-06-01 12:51:55 -04:00
..
cil libsepol/cil: Remove uneeded null checks of unused parameters 2017-06-01 12:43:31 -04:00
include semanage: Update semanage to allow runtime labeling of ibendports 2017-05-23 16:20:55 -04:00
man libsepol: constify sepol_genbools()'s boolpath parameter 2017-03-29 10:26:44 -04:00
src libsepol: Fix module_to_cil's handling of type aliases 2017-06-01 12:51:55 -04:00
tests libsepol/tests: fix -Wwrite-strings warnings 2017-02-06 11:06:04 -05:00
utils libsepol/utils: Fix build without system sepol.h 2017-05-05 15:48:22 -04:00
.gitignore libsepol: build cil into libsepol 2014-08-26 08:03:31 -04:00
COPYING initial import from svn trunk revision 2950 2008-08-19 15:30:36 -04:00
Makefile libsepol: build cil into libsepol 2014-08-26 08:03:31 -04:00
VERSION Update VERSION and ChangeLog files for 2.6 final release. 2016-10-14 11:31:26 -04:00