From 685aba997538fc5041640becb38b8f154b3a6b6d Mon Sep 17 00:00:00 2001
From: Jaroslav Mracek <jmracek@redhat.com>
Date: Thu, 8 Nov 2018 20:52:44 +0100
Subject: [PATCH] Fix segfault in repo_internalize_trigger (RhBug:1375895)
---
libdnf/hy-package.c | 4 +---
libdnf/hy-repo.c | 14 ++++++++------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/libdnf/hy-package.c b/libdnf/hy-package.c
index 3f9beed..890267c 100644
--- a/libdnf/hy-package.c
+++ b/libdnf/hy-package.c
@@ -351,9 +351,7 @@ const char *
dnf_package_get_location(DnfPackage *pkg)
{
Solvable *s = get_solvable(pkg);
- if (s->repo) {
- repo_internalize_trigger(s->repo);
- }
+ repo_internalize_trigger(s->repo);
return solvable_get_location(s, NULL);
}
diff --git a/libdnf/hy-repo.c b/libdnf/hy-repo.c
index e816ea8..eb5e168 100644
--- a/libdnf/hy-repo.c
+++ b/libdnf/hy-repo.c
@@ -55,12 +55,14 @@ repo_internalize_all_trigger(Pool *pool)
void
repo_internalize_trigger(Repo * repo)
{
- HyRepo hrepo = repo->appdata;
- assert(hrepo->libsolv_repo == repo);
- if (!hrepo->needs_internalizing)
- return;
- hrepo->needs_internalizing = 0;
- repo_internalize(repo);
+ if (repo) {
+ HyRepo hrepo = repo->appdata;
+ assert(hrepo->libsolv_repo == repo);
+ if (!hrepo->needs_internalizing)
+ return;
+ hrepo->needs_internalizing = 0;
+ repo_internalize(repo);
+ }
}
void
--
libgit2 0.26.7