Go to file
Nicolas Iooss 55b5b7a646 libselinux: do not dereference a NULL pointer when calloc() fails
selabel_is_digest_set() contains the following code:

        digest = calloc(1, sizeof(*digest));
        if (!digest)
            goto err;

    /* ... */

    err:
        free(digest->digest);

If calloc() failed, digest is NULL but is dereferenced when the
execution jumps to label err.

Check that digest is not NULL before freeing its fields.

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

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
2017-04-11 14:19:52 -04:00
checkpolicy checkpolicy: Add options to convert binary policy to CIL or a policy.conf 2017-04-05 12:23:30 -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: do not dereference a NULL pointer when calloc() fails 2017-04-11 14:19:52 -04:00
libsemanage libsemanage: revert "Skip policy module re-link when only setting booleans." 2017-04-10 11:04:39 -04:00
libsepol libsepol: do not seg fault on sepol_*_key_free(NULL) 2017-04-07 11:04:43 -04:00
mcstrans mcstrans: fix typo in mcstransd.8 man page 2017-03-28 13:38:37 -04:00
policycoreutils policycoreutils/load_policy: Drop is_selinux_enabled() check 2017-04-11 14:17:32 -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).