diff options
-rw-r--r-- | libopkg/opkg_install.c | 2 | ||||
-rw-r--r-- | libopkg/pkg.c | 1 | ||||
-rw-r--r-- | libopkg/pkg_extract.c | 2 |
3 files changed, 5 insertions, 0 deletions
diff --git a/libopkg/opkg_install.c b/libopkg/opkg_install.c index e1a50cc..a3893c7 100644 --- a/libopkg/opkg_install.c +++ b/libopkg/opkg_install.c @@ -506,7 +506,9 @@ static int update_file_ownership(opkg_conf_t *conf, pkg_t *new_pkg, pkg_t *old_p hash_table_insert(&conf->obs_file_hash, old_file, old_pkg); } } + pkg_free_installed_files(old_pkg); } + pkg_free_installed_files(new_pkg); return 0; } diff --git a/libopkg/pkg.c b/libopkg/pkg.c index e15fc24..26b6efe 100644 --- a/libopkg/pkg.c +++ b/libopkg/pkg.c @@ -1737,6 +1737,7 @@ int pkg_info_preinstall_check(opkg_conf_t *conf) // opkg_message(conf, OPKG_DEBUG2, "pkg %s: file=%s\n", pkg->name, installed_file); file_hash_set_file_owner(conf, installed_file, pkg); } + pkg_free_installed_files(pkg); } pkg_vec_free(installed_pkgs); diff --git a/libopkg/pkg_extract.c b/libopkg/pkg_extract.c index 0649b94..f972182 100644 --- a/libopkg/pkg_extract.c +++ b/libopkg/pkg_extract.c @@ -136,6 +136,8 @@ int pkg_extract_data_file_names_to_file(pkg_t *pkg, const char *file_name) } else { fputs(data_file, file); } + free(line); + line=NULL; } } fclose(tmp); |