rpms/libtar/devel libtar-1.2.11-fix-memleak2.patch, NONE, 1.1 libtar.spec, 1.20, 1.21

Huzaifa Sidhpurwala huzaifas at fedoraproject.org
Mon May 3 10:10:14 UTC 2010


Author: huzaifas

Update of /cvs/pkgs/rpms/libtar/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv6013

Modified Files:
	libtar.spec 
Added Files:
	libtar-1.2.11-fix-memleak2.patch 
Log Message:
fix more mem leaks

libtar-1.2.11-fix-memleak2.patch:
 lib/handle.c    |    1 +
 libtar/libtar.c |    9 +++++++++
 2 files changed, 10 insertions(+)

--- NEW FILE libtar-1.2.11-fix-memleak2.patch ---
diff -Naur libtar-1.2.11/lib/handle.c libtar-1.2.11.fixmem2/lib/handle.c
--- libtar-1.2.11/lib/handle.c	2003-01-07 07:10:59.000000000 +0530
+++ libtar-1.2.11.fixmem2/lib/handle.c	2010-05-03 15:17:33.000000000 +0530
@@ -82,6 +82,7 @@
 	(*t)->fd = (*((*t)->type->openfunc))(pathname, oflags, mode);
 	if ((*t)->fd == -1)
 	{
+		libtar_hash_free((*t)->h, NULL);
 		free(*t);
 		return -1;
 	}
diff -Naur libtar-1.2.11/libtar/libtar.c libtar-1.2.11.fixmem2/libtar/libtar.c
--- libtar-1.2.11/libtar/libtar.c	2010-05-03 15:14:59.000000000 +0530
+++ libtar-1.2.11.fixmem2/libtar/libtar.c	2010-05-03 15:31:43.000000000 +0530
@@ -244,7 +244,12 @@
 #endif
 	if (tar_extract_all(t, rootdir) != 0)
 	{
+		
 		fprintf(stderr, "tar_extract_all(): %s\n", strerror(errno));
+		if (t->h)
+			libtar_hash_free(t->h,NULL);
+		if (t)		
+			free (t);
 		return -1;
 	}
 
@@ -254,6 +259,10 @@
 	if (tar_close(t) != 0)
 	{
 		fprintf(stderr, "tar_close(): %s\n", strerror(errno));
+		if (t->h)
+			libtar_hash_free(t->h, NULL);
+		if (t)
+			free (t);
 		return -1;
 	}
 


Index: libtar.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libtar/devel/libtar.spec,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -p -r1.20 -r1.21
--- libtar.spec	3 May 2010 08:43:54 -0000	1.20
+++ libtar.spec	3 May 2010 10:10:13 -0000	1.21
@@ -1,7 +1,7 @@
 Summary:        Tar file manipulation API
 Name:           libtar
 Version:        1.2.11
-Release:        17%{?dist}
+Release:        18%{?dist}
 License:        MIT
 Group:          System Environment/Libraries
 URL:            http://www.feep.net/libtar/
@@ -12,6 +12,7 @@ Patch2:         libtar-macro.patch
 Patch3:		libtar-1.2.11-tar_header.patch
 Patch4:		libtar-1.2.11-mem-deref.patch
 Patch5:		libtar-1.2.11-fix-memleak.patch
+Patch6:		libtar-1.2.11-fix-memleak2.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 BuildRequires:  zlib-devel libtool
 
@@ -39,6 +40,7 @@ developing applications that use %{name}
 %patch3 -p1 -b .tar_header
 %patch4 -p1 -b .deref
 %patch5 -p1 -b .fixmem
+%patch6 -p1 -b .fixmem2
 
 # set correct version for .so build
 %define ltversion %(echo %{version} | tr '.' ':')
@@ -92,6 +94,9 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Mon May 3 2010 Huzaifa Sidhpurwala <huzaifas at redhat.com> - 1.2.11.18
+- Fix more memory leaks
+
 * Mon May 3 2010 Huzaifa Sidhpurwala <huzaifas at redhat.com> - 1.2.11.17
 - Fix lot of memory leaks
 



More information about the scm-commits mailing list