Go to file
Nicolas Iooss 76f8c04c19 libsepol: make process_boolean() fail on invalid lines
When load_booleans() calls process_boolean() to parse a boolean
definition, process_boolean() returns a successful value when it fails
to use strtok_r() (e.g. when there is no "=" in the parsed line). This
leads load_booleans() to use uninitialized name and/or val when setting
the boolean into the policy.

Rework process_boolean() in order to report errors when a boolean
definition is incorrect.

This issue has been found using clang's static analyzer.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
2017-03-29 10:26:40 -04:00
checkpolicy checkpolicy: Fix minor memory leak in checkpolicy 2017-03-21 14:20:43 -04:00
dbus Add stub make test targets to new subdirs 2016-11-16 11:20:05 -05:00
gui Add stub make test targets to new subdirs 2016-11-16 11:20:05 -05:00
libselinux libselinux: initialize temp value in SWIG wrapper to prevent freeing garbage 2017-03-01 10:42:45 -05:00
libsemanage libsemanage/tests: include libsepol headers from $DESTDIR 2017-03-01 10:42:34 -05:00
libsepol libsepol: make process_boolean() fail on invalid lines 2017-03-29 10:26:40 -04:00
mcstrans mcstrans: fix typo in mcstransd.8 man page 2017-03-28 13:38:37 -04:00
policycoreutils policycoreutils: fixfiles: remove useless use of cat 2017-03-28 13:41:22 -04:00
python python/semanage: fix export of fcontext socket entries 2017-03-15 13:10:18 -04:00
restorecond restorecond: add noreturn attribute to exitApp() 2017-03-07 14:00:16 -05:00
sandbox sandbox: make test not fail on systems without SELinux 2016-11-17 16:44:57 -05:00
scripts Fix release script 2016-11-16 11:19:51 -05:00
secilc secilc: add noreturn attribute to usage() 2017-03-07 14:00:30 -05:00
semodule-utils semodule-utils: add noreturn attribute to usage() 2017-03-07 14:00:39 -05:00
.gitignore restorecond: Add gitignore 2016-11-16 11:20:05 -05:00
.travis.yml libsemanage/tests: include libsepol headers from $DESTDIR 2017-03-01 10:42:34 -05:00
CleanSpec.mk Add empty top level Android.mk / CleanSpec.mk files 2015-04-16 07:54:09 -04:00
Makefile Build mcstrans. 2016-11-16 11:19:50 -05:00
README libsepol compilation fixes for macOS. 2017-01-20 13:19:57 -05:00

Please submit all bug reports and patches to selinux@tycho.nsa.gov.
Subscribe via selinux-join@tycho.nsa.gov.

Build dependencies on Fedora:
yum install audit-libs-devel bison bzip2-devel dbus-devel dbus-glib-devel flex flex-devel flex-static glib2-devel libcap-devel libcap-ng-devel pam-devel pcre-devel python-devel setools-devel swig xmlto redhat-rpm-config

To build and install everything under a private directory, run:
make DESTDIR=~/obj install install-pywrap

To install as the default system libraries and binaries
(overwriting any previously installed ones - dangerous!),
on x86_64, run:
make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap relabel
or on x86 (32-bit), run:
make install install-pywrap relabel

This may render your system unusable if the upstream SELinux userspace
lacks library functions or other dependencies relied upon by your
distribution.  If it breaks, you get to keep both pieces.

To install libsepol on macOS (mainly for policy analysis):
cd libsepol; make DESTDIR=/usr/local PREFIX=/usr/local install

This requires GNU coreutils (brew install coreutils).