Fix asprintf within an asprintf call
This commit is contained in:
parent
114463ed84
commit
f21a19ce73
@ -29,10 +29,37 @@ index fc64919..c63bb22 100644
|
|||||||
$(LIBA): $(OBJS)
|
$(LIBA): $(OBJS)
|
||||||
$(AR) rcs $@ $^
|
$(AR) rcs $@ $^
|
||||||
diff --git a/libsemanage/src/handle.c b/libsemanage/src/handle.c
|
diff --git a/libsemanage/src/handle.c b/libsemanage/src/handle.c
|
||||||
index 7fcd2b4..f5cd4d0 100644
|
index 7fcd2b4..976e3ff 100644
|
||||||
--- a/libsemanage/src/handle.c
|
--- a/libsemanage/src/handle.c
|
||||||
+++ b/libsemanage/src/handle.c
|
+++ b/libsemanage/src/handle.c
|
||||||
@@ -147,7 +147,8 @@ const char *semanage_binary_policy_path() {
|
@@ -66,6 +66,8 @@ void semanage_free_root() {
|
||||||
|
}
|
||||||
|
|
||||||
|
int semanage_set_root(const char *path) {
|
||||||
|
+ char *binary_policy_path;
|
||||||
|
+
|
||||||
|
semanage_free_root();
|
||||||
|
if ( asprintf(&private_selinux_path, "%s/%s", path, selinux_path()) < 0 ) {
|
||||||
|
goto error;
|
||||||
|
@@ -91,9 +93,16 @@ int semanage_set_root(const char *path) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if ( asprintf(&private_binary_policy_path, "%s/%s", path, selinux_binary_policy_path()) < 0 ) {
|
||||||
|
+ binary_policy_path = selinux_binary_policy_path();
|
||||||
|
+ if (!binary_policy_path) {
|
||||||
|
+ goto error;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if ( asprintf(&private_binary_policy_path, "%s/%s", path, binary_policy_path) < 0 ) {
|
||||||
|
+ free(binary_policy_path);
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
+ free(binary_policy_path);
|
||||||
|
|
||||||
|
if ( asprintf(&private_usersconf_path, "%s/%s", path, selinux_usersconf_path()) < 0 ) {
|
||||||
|
goto error;
|
||||||
|
@@ -147,7 +156,8 @@ const char *semanage_binary_policy_path() {
|
||||||
// printf("private_binary_policy_path %s\n", private_binary_policy_path);
|
// printf("private_binary_policy_path %s\n", private_binary_policy_path);
|
||||||
if (private_binary_policy_path)
|
if (private_binary_policy_path)
|
||||||
return private_binary_policy_path;
|
return private_binary_policy_path;
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
Summary: SELinux binary policy manipulation library
|
Summary: SELinux binary policy manipulation library
|
||||||
Name: libsemanage
|
Name: libsemanage
|
||||||
Version: 2.1.8
|
Version: 2.1.8
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
Source: libsemanage-%{version}.tgz
|
Source: libsemanage-%{version}.tgz
|
||||||
@ -180,6 +180,9 @@ rm -rf ${RPM_BUILD_ROOT}
|
|||||||
%endif # if with_python3
|
%endif # if with_python3
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 12 2012 Dan Walsh <dwalsh@redhat.com> - 2.1.8-2
|
||||||
|
- Fix asprintf within an asprintf call
|
||||||
|
|
||||||
* Wed Jul 4 2012 Dan Walsh <dwalsh@redhat.com> - 2.1.8-1
|
* Wed Jul 4 2012 Dan Walsh <dwalsh@redhat.com> - 2.1.8-1
|
||||||
- Update to upstream
|
- Update to upstream
|
||||||
* remove build warning when build swig c files
|
* remove build warning when build swig c files
|
||||||
|
Loading…
Reference in New Issue
Block a user