From b70dc315e405d3c59dae2a795462f85d02cbb8df Mon Sep 17 00:00:00 2001 From: ticktock35 Date: Mon, 15 Dec 2008 00:26:51 -0500 Subject: opkg: fix the crashing issue. It's a hanging pointer. Using installed_files without get and free git-svn-id: http://opkg.googlecode.com/svn/trunk@144 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358 --- (limited to 'libopkg/pkg_hash.c') diff --git a/libopkg/pkg_hash.c b/libopkg/pkg_hash.c index 97613e5..c63847b 100644 --- a/libopkg/pkg_hash.c +++ b/libopkg/pkg_hash.c @@ -648,10 +648,13 @@ int file_hash_set_file_owner(opkg_conf_t *conf, const char *file_name, pkg_t *ow // opkg_message(conf, OPKG_DEBUG2, "owning_pkg=%s filename=%s\n", owning_pkg->name, file_name); hash_table_insert(file_hash, file_name, owning_pkg); if (old_owning_pkg) { + pkg_get_installed_files(old_owning_pkg); str_list_remove_elt(old_owning_pkg->installed_files, file_name); + pkg_free_installed_files(old_owning_pkg); /* mark this package to have its filelist written */ old_owning_pkg->state_flag |= SF_FILELIST_CHANGED; owning_pkg->state_flag |= SF_FILELIST_CHANGED; + } return 0; } -- cgit v0.9.1