[gssntlmssp] Backport patches to fix memory leaks
Simo Sorce
simo at fedoraproject.org
Fri Dec 13 22:07:06 UTC 2013
commit 83b6e645b82e6a9e198f5a3dd273cfe61ac6e778
Author: Simo Sorce <simo at redhat.com>
Date: Fri Dec 13 17:07:01 2013 -0500
Backport patches to fix memory leaks
0001-Fix-memory-leak-with-gssntlm_names.patch | 26 +++++++++++++++++++
0002-Fix-memleaks-in-init_sec_context.patch | 34 +++++++++++++++++++++++++
gssntlmssp.spec | 9 ++++++-
3 files changed, 68 insertions(+), 1 deletions(-)
---
diff --git a/0001-Fix-memory-leak-with-gssntlm_names.patch b/0001-Fix-memory-leak-with-gssntlm_names.patch
new file mode 100644
index 0000000..b9e3417
--- /dev/null
+++ b/0001-Fix-memory-leak-with-gssntlm_names.patch
@@ -0,0 +1,26 @@
+From 043dd6d6847125d78da91cbb8b357576c0e1b996 Mon Sep 17 00:00:00 2001
+From: Simo Sorce <simo at redhat.com>
+Date: Fri, 13 Dec 2013 15:48:19 -0500
+Subject: [PATCH 1/2] Fix memory leak with gssntlm_names
+
+Thanks to Stefan Becker <chemobejk at gmail.com> for finding this leak.
+---
+ src/gss_names.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gss_names.c b/src/gss_names.c
+index 823b8ec49df650b8c6f419613ac15b2dfd173091..64e4df3224652975ae8b10dc537b7c5ad7c42559 100644
+--- a/src/gss_names.c
++++ b/src/gss_names.c
+@@ -396,7 +396,7 @@ uint32_t gssntlm_release_name(uint32_t *minor_status,
+
+ gssntlm_int_release_name((struct gssntlm_name *)*input_name);
+
+- *input_name = GSS_C_NO_NAME;
++ safefree(*input_name);
+ return GSS_S_COMPLETE;
+ }
+
+--
+1.8.4.2
+
diff --git a/0002-Fix-memleaks-in-init_sec_context.patch b/0002-Fix-memleaks-in-init_sec_context.patch
new file mode 100644
index 0000000..3effbf8
--- /dev/null
+++ b/0002-Fix-memleaks-in-init_sec_context.patch
@@ -0,0 +1,34 @@
+From 3c0c5be24f17fe59c804eecc2710ad0af38bb72e Mon Sep 17 00:00:00 2001
+From: Stefan Becker <chemobejk at gmail.com>
+Date: Fri, 13 Dec 2013 17:03:01 -0500
+Subject: [PATCH 2/2] Fix memleaks in init_sec_context
+
+---
+ src/gss_sec_ctx.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/gss_sec_ctx.c b/src/gss_sec_ctx.c
+index 2290cb9502dee8919e75c31481b21b879e7a4f95..50da7acad0f19c0fc301d8f29861322621868d30 100644
+--- a/src/gss_sec_ctx.c
++++ b/src/gss_sec_ctx.c
+@@ -45,7 +45,7 @@ uint32_t gssntlm_init_sec_context(uint32_t *minor_status,
+ const char *domain = NULL;
+ uint32_t in_flags;
+ uint32_t msg_type;
+- char *trgt_name;
++ char *trgt_name = NULL;
+ uint8_t server_chal[8];
+ struct ntlm_buffer challenge = { server_chal, 8 };
+ struct ntlm_buffer target_info = { 0 };
+@@ -612,6 +612,8 @@ done:
+ /* we copy creds around, so always free if not passed in */
+ gssntlm_release_cred(&tmpmin, (gss_cred_id_t *)&cred);
+ }
++ safefree(trgt_name);
++ safefree(trginfo_name);
+ ntlm_free_buffer_data(&target_info);
+ ntlm_free_buffer_data(&nt_chal_resp);
+ ntlm_free_buffer_data(&lm_chal_resp);
+--
+1.8.4.2
+
diff --git a/gssntlmssp.spec b/gssntlmssp.spec
index 1c907f3..54112e3 100644
--- a/gssntlmssp.spec
+++ b/gssntlmssp.spec
@@ -1,6 +1,6 @@
Name: gssntlmssp
Version: 0.2.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: GSSAPI NTLMSSP Mechanism
Group: System Environment/Libraries
@@ -9,6 +9,8 @@ URL: https://fedorahosted.org/gss-ntlmssp
Source0: https://fedorahosted.org/released/gss-ntlmssp/%{name}-%{version}.tar.gz
Patch0: gss-set-neg-mech-fix.patch
+Patch1: 0001-Fix-memory-leak-with-gssntlm_names.patch
+Patch2: 0002-Fix-memleaks-in-init_sec_context.patch
Requires: krb5-libs%{?_isa} >= 1.11.2
@@ -41,6 +43,8 @@ Adds a header file with definition for custom GSSAPI extensions for NTLMSSP
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
%build
autoreconf -fiv
@@ -69,6 +73,9 @@ make test_gssntlmssp
%{_includedir}/gssapi/gssapi_ntlmssp.h
%changelog
+* Fri Dec 13 2013 Simo Sorce <simo at samba.org> - 0.2.0-2
+- Backport patches to fix memory leaks
+
* Wed Dec 4 2013 Simo Sorce <simo at samba.org> - 0.2.0-1
- Backport patch that fixes failures with gss_set_neg_mechs() calls.
More information about the scm-commits
mailing list