Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=1a64aa1ee366fea0797ead4815f9fa3198da056c

commit 1a64aa1ee366fea0797ead4815f9fa3198da056c
Author: James Buren <[email protected]>
Date:   Thu Sep 6 03:18:36 2012 -0500

fix memory leak that was leaking ~150KB worth of strdup()

diff --git a/lib/libpacman/be_files.c b/lib/libpacman/be_files.c
index 6f2d18d..9708469 100644
--- a/lib/libpacman/be_files.c
+++ b/lib/libpacman/be_files.c
@@ -274,15 +274,17 @@ pmpkg_t *_pacman_db_scan(pmdb_t *db, const char *target, 
unsigned int inforeq)
}
char *dname;
if (islocal(db)) {
-               dname = ent->d_name;
+               dname = strdup(ent->d_name);
} else {
dname = strdup(archive_entry_pathname(entry));
dname[strlen(dname)-1] = '\0'; // drop trailing slash
}
if(_pacman_pkg_splitname(dname, pkg->name, pkg->version, 0) == -1) {
_pacman_log(PM_LOG_ERROR, _("invalid name for dabatase entry '%s'"), dname);
+               FREE(dname);
return(NULL);
}
+       FREE(dname);
if(_pacman_db_read(db, inforeq, pkg) == -1) {
FREEPKG(pkg);
}
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to