From 4a03176489b0eb287337c6ad888a4d3b6399f0eb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 5 May 2012 18:11:27 -0400 Subject: [PATCH] checkout: Deal gracefully with bad input I had a /ostree/gnomeos-3.4-i686-devel directory, and this caused ostree --repo=repo checkout gnomeos-3.5-i686-devel to segfault. --- src/ostree/ot-builtin-checkout.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/ostree/ot-builtin-checkout.c b/src/ostree/ot-builtin-checkout.c index 57b818c7..4ac817ac 100644 --- a/src/ostree/ot-builtin-checkout.c +++ b/src/ostree/ot-builtin-checkout.c @@ -97,6 +97,13 @@ parse_commit_from_symlink (GFile *symlink, goto out; target = g_file_info_get_symlink_target (file_info); + if (target == NULL) + { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, + "Not a symbolic link"); + goto out; + } + last_dash = strrchr (target, '-'); if (last_dash == NULL) {