RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 19-Feb-2009 19:54:43 Branch: HEAD Handle: 2009021918544200 Modified files: rpm CHANGES rpm/rpmio argv.c Log: - jbj: fix: eliminate a argvSplit() memory leak. Summary: Revision Changes Path 1.2781 +1 -0 rpm/CHANGES 1.18 +5 -1 rpm/rpmio/argv.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.2780 -r1.2781 CHANGES --- rpm/CHANGES 19 Feb 2009 17:54:19 -0000 1.2780 +++ rpm/CHANGES 19 Feb 2009 18:54:42 -0000 1.2781 @@ -1,5 +1,6 @@ 5.2a2 -> 5.2a3: + - jbj: fix: eliminate a argvSplit() memory leak. - jbj: rpmz: gather args from multiple manifests (ala rpmwget). - jbj: rpmz: stub in --files manifest handling (ignore --files0 for now). - jbj: rpmz: stub in signal handling. @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/argv.c ============================================================================ $ cvs diff -u -r1.17 -r1.18 argv.c --- rpm/rpmio/argv.c 22 Sep 2008 01:56:35 -0000 1.17 +++ rpm/rpmio/argv.c 19 Feb 2009 18:54:42 -0000 1.18 @@ -253,7 +253,11 @@ argv[c++] = xstrdup(s); } argv[c] = NULL; - *argvp = argv; + if (argvp) + *argvp = argv; + else + argv = argvFree(argv); + dest = _free(dest); /*...@-nullstate@*/ return 0; /*...@=nullstate@*/ @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org