diff --git a/generate/templates/manual/repository/refresh_references.cc b/generate/templates/manual/repository/refresh_references.cc index a13f3641c..69cdeeb57 100644 --- a/generate/templates/manual/repository/refresh_references.cc +++ b/generate/templates/manual/repository/refresh_references.cc @@ -415,6 +415,17 @@ void GitRepository::RefreshReferencesWorker::Execute() git_odb *odb; baton->error_code = git_repository_odb(&odb, repo); + if (baton->error_code != GIT_OK) { + if (giterr_last() != NULL) { + baton->error = git_error_dup(giterr_last()); + } + delete refreshData; + baton->out = NULL; + return; + } + + git_config *config; + baton->error_code = git_repository_config_snapshot(&config, repo); if (baton->error_code != GIT_OK) { if (giterr_last() != NULL) { baton->error = git_error_dup(giterr_last()); @@ -424,6 +435,8 @@ void GitRepository::RefreshReferencesWorker::Execute() baton->out = NULL; return; } + git_config_free(config); + // START Refresh HEAD git_reference *headRef = NULL;