From f9bfc15da144e200f46d983a277ba8dc8f3a4def Mon Sep 17 00:00:00 2001 From: Robert Rati Date: Mon, 3 Oct 2011 13:19:41 -0500 Subject: [PATCH 1/4] Fix BZ738719 --- prevent_free_of_static_chars.patch | 46 ++++++++++++++++++++++++++++++ wso2-wsf-cpp.spec | 9 +++++- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 prevent_free_of_static_chars.patch diff --git a/prevent_free_of_static_chars.patch b/prevent_free_of_static_chars.patch new file mode 100644 index 0000000..fbcf6c4 --- /dev/null +++ b/prevent_free_of_static_chars.patch @@ -0,0 +1,46 @@ +From 35055f4b07f06621f43a704285cb90b5d80dff9f Mon Sep 17 00:00:00 2001 +From: Peter MacKinnon +Date: Fri, 16 Sep 2011 11:12:38 -0400 +Subject: [PATCH] Fix to prevent free of static chars in fault_value_str + +--- + src/msg_recv/wsf_cpp_msg_recv.cpp | 9 +++++++-- + 1 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/msg_recv/wsf_cpp_msg_recv.cpp b/src/msg_recv/wsf_cpp_msg_recv.cpp +index bd0575b..abfcd60 100644 +--- a/src/msg_recv/wsf_cpp_msg_recv.cpp ++++ b/src/msg_recv/wsf_cpp_msg_recv.cpp +@@ -417,7 +417,7 @@ wsf_cpp_msg_recv_invoke_business_logic_sync( + + if (status != AXIS2_SUCCESS || is_fault) + { +- const axis2_char_t *fault_value_str = axutil_stracat(Environment::getEnv(),soapEnvelopePrefix, ":Sender"); ++ const axis2_char_t *fault_value_str = NULL; + const axis2_char_t *fault_reason_str = NULL; + const axis2_char_t *err_msg = NULL; + +@@ -436,6 +436,9 @@ wsf_cpp_msg_recv_invoke_business_logic_sync( + AXIOM_SOAP12_SOAP_FAULT_VALUE_RECEIVER; + } + } ++ else { ++ fault_value_str = axutil_stracat(Environment::getEnv(),soapEnvelopePrefix, ":Sender"); ++ } + + err_msg = AXIS2_ERROR_GET_MESSAGE(env->error); + if (err_msg) +@@ -450,7 +453,9 @@ wsf_cpp_msg_recv_invoke_business_logic_sync( + soap_fault = axiom_soap_fault_create_default_fault(env, out_body, fault_value_str, + fault_reason_str, soap_version); + +- AXIS2_FREE((Environment::getEnv()->allocator), (void*)fault_value_str); ++ if (skel_invoked) { ++ AXIS2_FREE((Environment::getEnv()->allocator), (void*)fault_value_str); ++ } + + if (fault_node) + { +-- +1.7.4.4 + diff --git a/wso2-wsf-cpp.spec b/wso2-wsf-cpp.spec index 20c1c72..c70249e 100644 --- a/wso2-wsf-cpp.spec +++ b/wso2-wsf-cpp.spec @@ -24,7 +24,7 @@ Name: %{pkg_name} Summary: WSO2 Web Services Framework for C++ Version: %{pkg_ver} -Release: 4%{?dist} +Release: 5%{?dist} Group: Development/Tools License: ASL 2.0 URL: http://wso2.org/library/wsf/cpp @@ -49,6 +49,9 @@ Patch2: literal_lib_name.patch # Make stream support more complete for SSL # https://issues.apache.org/jira/browse/AXIS2C-1556 Patch3: generic_streams_for_ssl.patch +# Fix free of static buffer +# https://wso2.org/jira/browse/WSFCPP-138 +Patch4: prevent_free_of_static_chars.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: openssl-devel BuildRequires: httpd-devel @@ -470,6 +473,7 @@ chmod a-x wsf_c/wsclient/LICENSE %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build %if %{build_sandesha2} @@ -614,6 +618,9 @@ mv -f %{buildroot}/%{_includedir}/*.h %{buildroot}/%{_includedir}/%{pkg_name} rm -rf %{buildroot} %changelog +* Mon Sep 26 2011 Robert Rati - 2.1.0-5 +- Added patch to fix a free of a static buffer + * Tue Aug 16 2011 Robert Rati - 2.1.0-4 - Added generic stream patch - Created security package to separate rampart dependency From 506eeae63f1fb6963130972cb22b2fd93d9fd2ac Mon Sep 17 00:00:00 2001 From: Peter MacKinnon Date: Wed, 11 Jul 2012 16:27:10 -0400 Subject: [PATCH 2/4] - Added missing Requires: httpd-mmn --- wso2-wsf-cpp.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/wso2-wsf-cpp.spec b/wso2-wsf-cpp.spec index c70249e..ddb1d5b 100644 --- a/wso2-wsf-cpp.spec +++ b/wso2-wsf-cpp.spec @@ -1,3 +1,4 @@ +{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn || echo missing-httpd-devel)}} %global pkg_name wso2-wsf-cpp %global axis_name wso2-axis2 %global pkg_ver 2.1.0 @@ -167,6 +168,7 @@ Summary: An Apache HTTPD module which adds axis2 support Group: System Environment/Daemons Requires: httpd Requires: apr +Requires: httpd-mmn = %{_httpd_mmn} %description -n mod_%{axis_name} An Apache HTTPD module that adds support for axis2 WebServices. This package @@ -618,6 +620,9 @@ mv -f %{buildroot}/%{_includedir}/*.h %{buildroot}/%{_includedir}/%{pkg_name} rm -rf %{buildroot} %changelog +* Wed Jul 11 2012 Peter MacKinnon - 2.1.0-6 +- Added missing Requires: httpd-mmn + * Mon Sep 26 2011 Robert Rati - 2.1.0-5 - Added patch to fix a free of a static buffer From ff297ccfb191cd765da078f912e542ae7029bed7 Mon Sep 17 00:00:00 2001 From: Peter MacKinnon Date: Wed, 11 Jul 2012 16:29:15 -0400 Subject: [PATCH 3/4] Fixed syntax error in spec file --- wso2-wsf-cpp.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wso2-wsf-cpp.spec b/wso2-wsf-cpp.spec index ddb1d5b..dfa475e 100644 --- a/wso2-wsf-cpp.spec +++ b/wso2-wsf-cpp.spec @@ -1,4 +1,4 @@ -{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn || echo missing-httpd-devel)}} +%{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn || echo missing-httpd-devel)}} %global pkg_name wso2-wsf-cpp %global axis_name wso2-axis2 %global pkg_ver 2.1.0 From 9db76b38b438e21dec137ab24494ac80de0c6055 Mon Sep 17 00:00:00 2001 From: Peter MacKinnon Date: Wed, 11 Jul 2012 16:31:18 -0400 Subject: [PATCH 4/4] Updated version number --- wso2-wsf-cpp.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wso2-wsf-cpp.spec b/wso2-wsf-cpp.spec index dfa475e..9200963 100644 --- a/wso2-wsf-cpp.spec +++ b/wso2-wsf-cpp.spec @@ -25,7 +25,7 @@ Name: %{pkg_name} Summary: WSO2 Web Services Framework for C++ Version: %{pkg_ver} -Release: 5%{?dist} +Release: 6%{?dist} Group: Development/Tools License: ASL 2.0 URL: http://wso2.org/library/wsf/cpp