[libselinux] Fix patch that Handles substitutions for /
Daniel J Walsh
dwalsh at fedoraproject.org
Mon May 6 13:43:17 UTC 2013
commit 4720ddb09f46f4848a7f7530995330c2e1be321d
Author: Dan Walsh <dwalsh at redhat.com>
Date: Mon May 6 09:43:03 2013 -0400
Fix patch that Handles substitutions for /
libselinux-rhat.patch | 18 ++++++++++++++----
libselinux.spec | 5 ++++-
2 files changed, 18 insertions(+), 5 deletions(-)
---
diff --git a/libselinux-rhat.patch b/libselinux-rhat.patch
index 6907a8f..d19cc56 100644
--- a/libselinux-rhat.patch
+++ b/libselinux-rhat.patch
@@ -653,19 +653,29 @@ index b9e8002..355730a 100644
hidden_def(get_ordered_context_list)
diff --git a/libselinux/src/label.c b/libselinux/src/label.c
-index 11f6e96..9bf79c5 100644
+index 11f6e96..f5cb52a 100644
--- a/libselinux/src/label.c
+++ b/libselinux/src/label.c
-@@ -48,6 +48,9 @@ static char *selabel_sub(struct selabel_sub *ptr, const char *src)
+@@ -43,12 +43,18 @@ static void selabel_subs_fini(struct selabel_sub *ptr)
+ static char *selabel_sub(struct selabel_sub *ptr, const char *src)
+ {
+ char *dst = NULL;
++ int len;
+
+ while (ptr) {
if (strncmp(src, ptr->src, ptr->slen) == 0 ) {
if (src[ptr->slen] == '/' ||
src[ptr->slen] == 0) {
+- if (asprintf(&dst, "%s%s", ptr->dst, &src[ptr->slen]) < 0)
+ if ((src[ptr->slen] == '/') &&
+ (strcmp(ptr->dst, "/") == 0))
-+ ptr->slen++;
- if (asprintf(&dst, "%s%s", ptr->dst, &src[ptr->slen]) < 0)
++ len = ptr->slen + 1;
++ else
++ len = ptr->slen;
++ if (asprintf(&dst, "%s%s", ptr->dst, &src[len]) < 0)
return NULL;
return dst;
+ }
diff --git a/libselinux/src/label_file.c b/libselinux/src/label_file.c
index 5f697f3..9b0d6b0 100644
--- a/libselinux/src/label_file.c
diff --git a/libselinux.spec b/libselinux.spec
index 4d31a4a..aad4bdc 100644
--- a/libselinux.spec
+++ b/libselinux.spec
@@ -10,7 +10,7 @@
Summary: SELinux library and simple utilities
Name: libselinux
Version: 2.1.13
-Release: 14%{?dist}
+Release: 15%{?dist}
License: Public Domain
Group: System Environment/Libraries
Source: %{name}-%{version}.tgz
@@ -241,6 +241,9 @@ rm -rf %{buildroot}
%{ruby_sitearch}/selinux.so
%changelog
+* Mon May 6 2013 Dan Walsh <dwalsh at redhat.com> - 2.1.13-15
+- Fix patch that Handles substitutions for /
+
* Wed Apr 17 2013 Dan Walsh <dwalsh at redhat.com> - 2.1.13-14
- Handle substitutions for /
- semanage fcontext -a -e / /opt/rh/devtoolset-2/root
More information about the scm-commits
mailing list