From 7143f209badc0f63acf34f0061f6f94564c3e2df Mon Sep 17 00:00:00 2001
From: technology208 <technology@208suo.com>
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

