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

commit 429a1789eb7b97364be1a46f7cf6cc5f14e69ec5
Author: Michel Hermier <[email protected]>
Date:   Mon Nov 24 08:23:37 2014 +0100

libpacman: Fix invalid pointer when invoking: pacman-g2 -Ql -p <pkgfile>.

diff --git a/lib/libpacman/pacman.cpp b/lib/libpacman/pacman.cpp
index d44abd9..5316b7e 100644
--- a/lib/libpacman/pacman.cpp
+++ b/lib/libpacman/pacman.cpp
@@ -850,7 +850,11 @@ pmpkg_t *pacman_pkg_load(char *filename)
/* Sanity checks */
ASSERT(!_pacman_strempty(filename), RET_ERR(PM_ERR_WRONG_ARGS, NULL));

-       return c_cast(_pacman_fpmpackage_load(filename));
+       package_ptr pkg =  _pacman_fpmpackage_load(filename);
+       if (pkg != nullptr) {
+               pkg->acquire();
+       }
+       return c_cast(pkg);
}

/** Free a package.
@@ -866,6 +870,7 @@ int pacman_pkg_free(pmpkg_t *_pkg)
ASSERT(pkg != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1));

/* Only free packages loaded in user space */
+       pkg->release();
return 0;
}
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to