Commit 60b537e3 authored by Natanael Copa's avatar Natanael Copa

db: do not free trigger list after package is unpacked

The triggers are read during apk_db_unpack_pkg(). If we delete the
triggers list after then unpack we delete the triggers which is not
what we want.

This fixes bug introduced in ce3cf8bf
parent 6b52c5dc
......@@ -2100,6 +2100,12 @@ int apk_db_install_pkg(struct apk_database *db,
/* Install the new stuff */
ipkg = apk_pkg_install(db, newpkg);
ipkg->flags |= APK_IPKGF_RUN_ALL_TRIGGERS;
if (ipkg->triggers->num != 0) {
list_del(&ipkg->trigger_pkgs_list);
apk_string_array_free(&ipkg->triggers);
}
if (newpkg->installed_size != 0) {
r = apk_db_unpack_pkg(db, ipkg, (oldpkg != NULL),
(oldpkg == newpkg), cb, cb_ctx,
......@@ -2110,12 +2116,6 @@ int apk_db_install_pkg(struct apk_database *db,
}
}
ipkg->flags |= APK_IPKGF_RUN_ALL_TRIGGERS;
if (ipkg->triggers->num != 0) {
list_del(&ipkg->trigger_pkgs_list);
apk_string_array_free(&ipkg->triggers);
}
if (oldpkg != NULL && oldpkg != newpkg && oldpkg->ipkg != NULL) {
apk_db_purge_pkg(db, oldpkg->ipkg, NULL);
apk_pkg_uninstall(db, oldpkg);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment