[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