From 8e41ec655a62fb916bb2acb9626b1d901d827812 Mon Sep 17 00:00:00 2001 From: woblight Date: Fri, 7 Sep 2018 17:31:12 +0200 Subject: [PATCH] Check some pointers to be valid --- addon.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addon.cpp b/addon.cpp index 65d1b34..c4f8dca 100644 --- a/addon.cpp +++ b/addon.cpp @@ -135,6 +135,7 @@ void Addon::scanSubfolders() QStringList sf; git_object *obj = nullptr; git_revparse_single(&obj, m_repo.get(), "HEAD^{tree}"); + if (!obj) return sf; git_tree *tree = reinterpret_cast(obj); git_tree_walk(tree, GIT_TREEWALK_PRE, [](const char *root, const git_tree_entry *entry, void *payload) -> int{ QString path = root; @@ -205,6 +206,7 @@ void Addon::fetchRemote(QString remote) fetch_opts.callbacks.payload = this; git_remote *r; git_remote_lookup(&r, m_repo.get(), remote.toLocal8Bit()); + if (!r) return; int error = git_remote_fetch(r,nullptr,&fetch_opts,nullptr); if (error < 0) { const git_error *e = giterr_last(); @@ -258,8 +260,7 @@ void Addon::updateGitStatus() git_branch_lookup(&tr, m_repo.get(), m_currentBranch.toLocal8Bit(), GIT_BRANCH_LOCAL); if (!tr) { git_branch_lookup(&tr, m_repo.get(), m_currentBranch.toLocal8Bit(), GIT_BRANCH_REMOTE); - } - else { + } else { git_reference *rbr; git_branch_upstream(&rbr, tr); git_reference_free(tr);