From 853fa7f4398f9813c7a2449532ae756f663f8bf2 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 16 Feb 2017 16:33:57 +0100 Subject: [PATCH] libopkg: immediately free packages not marked for detail parsing Stop recording packages into the dependency graph which are not flagged with SF_NEED_DETAILS. Signed-off-by: Jo-Philipp Wich --- libopkg/pkg_hash.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libopkg/pkg_hash.c b/libopkg/pkg_hash.c index 3b49301..4de4bdf 100644 --- a/libopkg/pkg_hash.c +++ b/libopkg/pkg_hash.c @@ -142,6 +142,13 @@ pkg_hash_add_from_file(const char *file_name, continue; } + if (!(pkg->state_flag & SF_NEED_DETAIL)) { + //opkg_msg(DEBUG, "Package %s is unrelated, ignoring.\n", pkg->name); + pkg_deinit(pkg); + free(pkg); + continue; + } + if (!pkg_get_architecture(pkg) || !pkg_get_arch_priority(pkg)) { char *version_str = pkg_version_str_alloc(pkg); opkg_msg(NOTICE, "Package %s version %s has no " -- 2.25.1