From e03d731e3dcb8d0f52ffbc6faa188802b742d1e9 Mon Sep 17 00:00:00 2001 From: Ondrej Holy Date: Thu, 26 Jan 2023 13:20:51 +0100 Subject: [PATCH] file-utilities: Prevent passing NULL to g_object_unref The `nautilus_find_existing_uri_in_hierarchy` function calls the `g_object_unref` with a `NULL` pointer when `g_file_query_info` fails. This leads to a crash e.g. when parent directory of the currently opened location is removed. Let's port the code to use `g_autoptr` to avoid that. --- src/nautilus-file-utilities.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nautilus-file-utilities.c b/src/nautilus-file-utilities.c index e8f1ca2fb..1c913dbad 100644 --- a/src/nautilus-file-utilities.c +++ b/src/nautilus-file-utilities.c @@ -598,7 +598,6 @@ nautilus_generate_unique_file_in_directory (GFile *directory, GFile * nautilus_find_existing_uri_in_hierarchy (GFile *location) { - GFileInfo *info; GFile *tmp; g_assert (location != NULL); @@ -606,10 +605,11 @@ nautilus_find_existing_uri_in_hierarchy (GFile *location) location = g_object_ref (location); while (location != NULL) { + g_autoptr (GFileInfo) info = NULL; + info = g_file_query_info (location, G_FILE_ATTRIBUTE_STANDARD_NAME, 0, NULL, NULL); - g_object_unref (info); if (info != NULL) { return location; -- 2.40.0