On Fri, 2004-09-17 at 15:38, George C. Wilson wrote: > We found what appears to be a bug in libselinux. The getsebool, setsebool, > and togglesebool all SIGSEGV when SELINUX=disabled. > > The global that stores the selinuxfs mountpoint in libselinux, selinux_mnt, is > initialized to NULL. selinuxfs is not mounted when SELinux is disabled, > therefore no mountpoint exists when init_selinuxmnt() scans /proc/mounts, and > selinux_mnt remains NULL. So when get_bool_value() in booleans.c attempts to > strlen(selinux_mnt), a SIGSEGV results. The fix is to validate selinux_mnt > before the offending strlen() in get_bool_value(), line 101 of booleans.c from > selinux-usr-2004081908. It probably would not hurt to validate name as well. > The same bug exists in FC3. Ok, we can certainly fix this, but note that these functions are not going to work on a non-SELinux system regardless; you shouldn't even be calling them (or running those utilities) on a non-SELinux system. -- Stephen Smalley <sds@xxxxxxxxxxxxxx> National Security Agency