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.
This commit is contained in:
Adrian Perez 2012-05-09 18:49:03 +03:00 committed by Colin Walters
parent d9bc7e0acd
commit bd6bd0eed5

View File

@ -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);