X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev_selinux.c;h=a305e241367e18dc1fafaeebc5765e0fe4c58eeb;hp=446fedc3c35aa67c47e724cb820f357d69d61196;hb=eb8b496e890de4ba347f78f0e7e978117ab2a479;hpb=c7a42aea3c1a81f7325104871aad6bb6b0a15834 diff --git a/udev_selinux.c b/udev_selinux.c index 446fedc3c..a305e2413 100644 --- a/udev_selinux.c +++ b/udev_selinux.c @@ -1,6 +1,4 @@ /* - * udev_selinux.h - * * Copyright (C) 2004 Daniel Walsh * * This program is free software; you can redistribute it and/or modify it @@ -14,7 +12,7 @@ * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., - * 675 Mass Ave, Cambridge, MA 02139, USA. + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ @@ -92,10 +90,13 @@ void selinux_setfilecon(const char *file, const char *devname, unsigned int mode char *media; int ret = -1; - media = get_media(devname, mode); - if (media) { - ret = matchmediacon(media, &scontext); - free(media); + if(devname) + { + media = get_media(devname, mode); + if (media) { + ret = matchmediacon(media, &scontext); + free(media); + } } if (ret < 0) @@ -104,7 +105,7 @@ void selinux_setfilecon(const char *file, const char *devname, unsigned int mode return; } - if (setfilecon(file, scontext) < 0) + if (lsetfilecon(file, scontext) < 0) err("setfilecon %s failed: %s", file, strerror(errno)); freecon(scontext);