From 7143f209badc0f63acf34f0061f6f94564c3e2df Mon Sep 17 00:00:00 2001 From: technology208 Date: Mon, 20 May 2024 14:08:03 +0800 Subject: [PATCH] CreatePatch --- src/nautilus-dbus-manager.c | 6 ++++++ src/nautilus-file-operations.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c index 6736205..361869a 100644 --- a/src/nautilus-dbus-manager.c +++ b/src/nautilus-dbus-manager.c @@ -187,6 +187,12 @@ handle_create_folder (NautilusDBusFileOperations *object, file = g_file_new_for_uri (uri); basename = g_file_get_basename (file); parent_file = g_file_get_parent (file); + if (parent_file == NULL || basename == NULL) + { + g_dbus_method_invocation_return_error (invocation, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT, "Invalid uri: %s", uri); + return TRUE; + } + parent_file_uri = g_file_get_uri (parent_file); handle_create_folder_internal (parent_file_uri, basename, NULL); diff --git a/src/nautilus-file-operations.c b/src/nautilus-file-operations.c index 3adf3b5..61d9532 100644 --- a/src/nautilus-file-operations.c +++ b/src/nautilus-file-operations.c @@ -990,6 +990,11 @@ get_basename (GFile *file) if (name == NULL) { basename = g_file_get_basename (file); + if (basename == NULL) + { + return g_strdup (_("unknown")); + } + if (g_utf8_validate (basename, -1, NULL)) { name = basename; @@ -4289,6 +4294,7 @@ get_unique_target_file (GFile *src, if (dest == NULL) { basename = g_file_get_basename (src); + g_assert (basename == NULL); if (g_utf8_validate (basename, -1, NULL)) { -- 2.33.0