[ostree] ostree-pull: Fix segfault by initializing pull_data earlier



commit bd6bd0eed5bc5f8082c8982ccaaea82f9312f9d1
Author: Adrian Perez <aperez igalia com>
Date:   Wed May 9 18:49:03 2012 +0300

    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 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/src/ostree/ostree-pull.c b/src/ostree/ostree-pull.c
index 976f36a..00c63af 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);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]