From bd6bd0eed5bc5f8082c8982ccaaea82f9312f9d1 Mon Sep 17 00:00:00 2001 From: Adrian Perez Date: Wed, 9 May 2012 18:49:03 +0300 Subject: [PATCH] ostree-pull: Fix segfault by initializing pull_data earlier In the case of not being able to check the repository or not being able to parse command line arguments, attributes from "pull_data" would be used with garbage in them. This patch makes initialization of the sctructure to happen earlier so it is safe to use in those cases. --- src/ostree/ostree-pull.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ostree/ostree-pull.c b/src/ostree/ostree-pull.c index 976f36ae..00c63afe 100644 --- a/src/ostree/ostree-pull.c +++ b/src/ostree/ostree-pull.c @@ -1087,6 +1087,8 @@ ostree_builtin_pull (int argc, char **argv, GFile *repo_path, GError **error) GKeyFile *config = NULL; char **configured_branches = NULL; + memset (pull_data, 0, sizeof (*pull_data)); + context = g_option_context_new ("REMOTE [BRANCH...] - Download data from remote repository"); g_option_context_add_main_entries (context, options, NULL); @@ -1097,7 +1099,6 @@ ostree_builtin_pull (int argc, char **argv, GFile *repo_path, GError **error) if (!ostree_repo_check (repo, error)) goto out; - memset (pull_data, 0, sizeof (*pull_data)); pull_data->repo = repo; pull_data->file_checksums_to_fetch = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);