core: Add some more sanity checks to pull when parsing metadata

This commit is contained in:
Colin Walters 2011-12-22 17:00:58 -05:00
parent 786ce3b560
commit d8ea31e24e
1 changed files with 12 additions and 0 deletions

View File

@ -242,6 +242,11 @@ store_tree_recurse (OstreeRepo *repo,
g_variant_get_child (files_variant, i, "(&s&s)", &filename, &checksum); g_variant_get_child (files_variant, i, "(&s&s)", &filename, &checksum);
if (!ot_util_filename_validate (filename, error))
goto out;
if (!ostree_validate_checksum_string (checksum, error))
goto out;
g_clear_object (&meta_file); g_clear_object (&meta_file);
if (!fetch_object (repo, soup, base_uri, checksum, if (!fetch_object (repo, soup, base_uri, checksum,
@ -290,6 +295,13 @@ store_tree_recurse (OstreeRepo *repo,
g_variant_get_child (dirs_variant, i, "(&s&s&s)", g_variant_get_child (dirs_variant, i, "(&s&s&s)",
&dirname, &tree_checksum, &meta_checksum); &dirname, &tree_checksum, &meta_checksum);
if (!ot_util_filename_validate (dirname, error))
goto out;
if (!ostree_validate_checksum_string (tree_checksum, error))
goto out;
if (!ostree_validate_checksum_string (meta_checksum, error))
goto out;
if (!store_object (repo, soup, base_uri, meta_checksum, OSTREE_OBJECT_TYPE_DIR_META, &did_exist, error)) if (!store_object (repo, soup, base_uri, meta_checksum, OSTREE_OBJECT_TYPE_DIR_META, &did_exist, error))
goto out; goto out;