4fd227c
--- libselinux-2.0.14/src/fgetfilecon.c	2007-04-24 10:36:20.000000000 -0400
4fd227c
+++ libselinux-2.0.14.new/src/fgetfilecon.c	2007-09-13 09:06:28.000000000 -0400
4fd227c
@@ -37,6 +37,11 @@
4fd227c
 		ret = fgetxattr(fd, XATTR_NAME_SELINUX, buf, size - 1);
4fd227c
 	}
4fd227c
       out:
4fd227c
+	if (ret == 0) {
4fd227c
+		/* Re-map empty attribute values to errors. */
4fd227c
+		errno = EOPNOTSUPP;
4fd227c
+		ret = -1;
4fd227c
+	}
4fd227c
 	if (ret < 0)
4fd227c
 		free(buf);
4fd227c
 	else
4fd227c
@@ -51,6 +56,8 @@
4fd227c
 	security_context_t rcontext;
4fd227c
 	int ret;
4fd227c
 
4fd227c
+	*context = NULL;
4fd227c
+
4fd227c
 	ret = fgetfilecon_raw(fd, &rcontext);
4fd227c
 
4fd227c
 	if (ret > 0) {
4fd227c
--- libselinux-2.0.14/src/getfilecon.c	2007-04-24 10:36:21.000000000 -0400
4fd227c
+++ libselinux-2.0.14.new/src/getfilecon.c	2007-09-13 09:06:13.000000000 -0400
4fd227c
@@ -37,6 +37,11 @@
4fd227c
 		ret = getxattr(path, XATTR_NAME_SELINUX, buf, size - 1);
4fd227c
 	}
4fd227c
       out:
4fd227c
+	if (ret == 0) {
4fd227c
+		/* Re-map empty attribute values to errors. */
4fd227c
+		errno = EOPNOTSUPP;
4fd227c
+		ret = -1;
4fd227c
+	}
4fd227c
 	if (ret < 0)
4fd227c
 		free(buf);
4fd227c
 	else
4fd227c
@@ -51,6 +56,8 @@
4fd227c
 	int ret;
4fd227c
 	security_context_t rcontext;
4fd227c
 
4fd227c
+	*context = NULL;
4fd227c
+
4fd227c
 	ret = getfilecon_raw(path, &rcontext);
4fd227c
 
4fd227c
 	if (ret > 0) {
4fd227c
--- libselinux-2.0.14/src/lgetfilecon.c	2007-04-24 10:36:20.000000000 -0400
4fd227c
+++ libselinux-2.0.14.new/src/lgetfilecon.c	2007-09-13 09:06:23.000000000 -0400
4fd227c
@@ -37,6 +37,11 @@
4fd227c
 		ret = lgetxattr(path, XATTR_NAME_SELINUX, buf, size - 1);
4fd227c
 	}
4fd227c
       out:
4fd227c
+	if (ret == 0) {
4fd227c
+		/* Re-map empty attribute values to errors. */
4fd227c
+		errno = EOPNOTSUPP;
4fd227c
+		ret = -1;
4fd227c
+	}
4fd227c
 	if (ret < 0)
4fd227c
 		free(buf);
4fd227c
 	else
4fd227c
@@ -51,6 +56,8 @@
4fd227c
 	int ret;
4fd227c
 	security_context_t rcontext;
4fd227c
 
4fd227c
+	*context = NULL;
4fd227c
+
4fd227c
 	ret = lgetfilecon_raw(path, &rcontext);
4fd227c
 
4fd227c
 	if (ret > 0) {