[glib: 2/4] gkeyfilesettingsbackend: Disallow empty key or group names




commit a59247608feee2adcefafbbb774ed5f7d5275219
Author: Philip Withnall <pwithnall endlessos org>
Date:   Wed Feb 10 21:19:30 2021 +0000

    gkeyfilesettingsbackend: Disallow empty key or group names
    
    These should never have been allowed; they will result in precondition
    failures from the `GKeyFile` later on in the code.
    
    A test will be added for this shortly.
    
    Signed-off-by: Philip Withnall <pwithnall endlessos org>

 gio/gkeyfilesettingsbackend.c | 7 +++++++
 1 file changed, 7 insertions(+)
---
diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
index d57a9d421..485a25a14 100644
--- a/gio/gkeyfilesettingsbackend.c
+++ b/gio/gkeyfilesettingsbackend.c
@@ -161,6 +161,13 @@ convert_path (GKeyfileSettingsBackend  *kfsb,
 
   last_slash = strrchr (key, '/');
 
+  /* Disallow empty group names or key names */
+  if (key_len == 0 ||
+      (last_slash != NULL &&
+       (*(last_slash + 1) == '\0' ||
+        last_slash == key)))
+    return FALSE;
+
   if (kfsb->root_group)
     {
       /* if a root_group was specified, make sure the user hasn't given


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]