[libpipeline] - fixed memory leaks detected by valgrind
pschiffe
pschiffe at fedoraproject.org
Tue Mar 19 16:29:29 UTC 2013
commit e3c500e6fef550f8f2d9cab5768fc464000660d1
Author: Peter Schiffer <pschiffe at redhat.com>
Date: Tue Mar 19 17:29:06 2013 +0100
- fixed memory leaks detected by valgrind
libpipeline-1.2.2-valgrind.patch | 76 ++++++++++++++++++++++++++++++++++++++
libpipeline.spec | 12 ++++-
2 files changed, 85 insertions(+), 3 deletions(-)
---
diff --git a/libpipeline-1.2.2-valgrind.patch b/libpipeline-1.2.2-valgrind.patch
new file mode 100644
index 0000000..493ec1d
--- /dev/null
+++ b/libpipeline-1.2.2-valgrind.patch
@@ -0,0 +1,76 @@
+diff -upr libpipeline-1.2.2.orig/lib/pipeline.c libpipeline-1.2.2/lib/pipeline.c
+--- libpipeline-1.2.2.orig/lib/pipeline.c 2013-03-13 10:23:09.000000000 +0100
++++ libpipeline-1.2.2/lib/pipeline.c 2013-03-13 14:04:12.112208797 +0100
+@@ -255,6 +255,7 @@ pipecmd *pipecmd_new_argstr (const char
+ * work when being executed directly. To work around this,
+ * we just drop "exec" if it appears at the start of argstr.
+ */
++ free (arg);
+ arg = argstr_get_word (&argstr);
+ if (!arg)
+ error (FATAL, 0,
+diff -upr libpipeline-1.2.2.orig/tests/argstr.c libpipeline-1.2.2/tests/argstr.c
+--- libpipeline-1.2.2.orig/tests/argstr.c 2010-10-29 04:08:04.000000000 +0200
++++ libpipeline-1.2.2/tests/argstr.c 2013-03-13 12:00:58.310964032 +0100
+@@ -62,6 +62,7 @@ START_TEST (test_argstr_exec)
+ fail_unless (cmd->u.process.argc == 2);
+ fail_unless (!strcmp (cmd->u.process.argv[0], "foo"));
+ fail_unless (!strcmp (cmd->u.process.argv[1], "bar"));
++ pipecmd_free (cmd);
+ }
+ END_TEST
+
+diff -upr libpipeline-1.2.2.orig/tests/basic.c libpipeline-1.2.2/tests/basic.c
+--- libpipeline-1.2.2.orig/tests/basic.c 2011-09-26 12:04:34.000000000 +0200
++++ libpipeline-1.2.2/tests/basic.c 2013-03-13 14:11:52.891928581 +0100
+@@ -101,6 +101,7 @@ START_TEST (test_basic_wait_all)
+ fail_unless (statuses[1] == 3 * 256);
+ fail_unless (statuses[2] == 0);
+ pipeline_free (p);
++ free (statuses);
+ }
+ END_TEST
+
+@@ -200,6 +201,8 @@ START_TEST (test_basic_clearenv)
+ "clearenv+setenv+dup returned second line '%s', expected 'bar\n'",
+ line2);
+ pipeline_wait (p2);
++ pipeline_free (p2);
++ pipeline_free (p);
+ }
+ END_TEST
+
+diff -upr libpipeline-1.2.2.orig/tests/exec.c libpipeline-1.2.2/tests/exec.c
+--- libpipeline-1.2.2.orig/tests/exec.c 2012-02-27 23:00:53.000000000 +0100
++++ libpipeline-1.2.2/tests/exec.c 2013-03-13 12:11:15.498591343 +0100
+@@ -71,6 +71,8 @@ START_TEST (test_exec_process)
+ fail_unless (WEXITSTATUS (status) == i);
+ else
+ fail_if (WEXITSTATUS (status) == 0);
++
++ pipecmd_free (cmd);
+ }
+ }
+ END_TEST
+@@ -109,6 +111,8 @@ START_TEST (test_exec_function)
+
+ fail_unless (WIFEXITED (status));
+ fail_unless (WEXITSTATUS (status) == i);
++
++ pipecmd_free (cmd);
+ }
+ }
+ END_TEST
+diff -upr libpipeline-1.2.2.orig/tests/redirect.c libpipeline-1.2.2/tests/redirect.c
+--- libpipeline-1.2.2.orig/tests/redirect.c 2012-02-29 19:23:59.000000000 +0100
++++ libpipeline-1.2.2/tests/redirect.c 2013-03-13 14:10:05.601323557 +0100
+@@ -56,6 +56,9 @@ START_TEST (test_redirect_files)
+
+ fclose (fh);
+ unlink (template);
++
++ pipeline_free(p);
++ free (template);
+ }
+ END_TEST
+
diff --git a/libpipeline.spec b/libpipeline.spec
index 1a1e8d8..59f417f 100644
--- a/libpipeline.spec
+++ b/libpipeline.spec
@@ -3,14 +3,16 @@
Summary: A pipeline manipulation library
Name: libpipeline
Version: 1.2.2
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv3+
Group: Development/Libraries
URL: http://libpipeline.nongnu.org/
Source: http://download.savannah.gnu.org/releases/libpipeline/libpipeline-%{version}.tar.gz
# resolves: #876108
-Patch: libpipeline-1.2.2-peek-offset.patch
+Patch0: libpipeline-1.2.2-peek-offset.patch
+# fixed memory leaks detected by valgrind
+Patch1: libpipeline-1.2.2-valgrind.patch
BuildRequires: libtool, check-devel
@@ -36,7 +38,8 @@ to develop programs that use libpipeline library.
%prep
%setup -q
-%patch -p1 -b .peek-offset
+%patch0 -p1 -b .peek-offset
+%patch1 -p1 -b .valgrind-mem
%build
%{configure}
@@ -64,6 +67,9 @@ rm $RPM_BUILD_ROOT/%{_libdir}/libpipeline.la
%{_mandir}/man3/*
%changelog
+* Tue Mar 19 2013 Peter Schiffer <pschiffe at redhat.com> - 1.2.2-4
+- fixed memory leaks detected by valgrind
+
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.2.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
More information about the scm-commits
mailing list