gnu: emacs-consult: Fix grammar.
[jackhill/guix/guix.git] / gnu / packages / patches / glib-CVE-2021-27219-16.patch
CommitLineData
21b3b755
MW
1From cb9ee701ef46c1819eed4e2a4dc181682bdfc176 Mon Sep 17 00:00:00 2001
2From: Philip Withnall <pwithnall@endlessos.org>
3Date: Wed, 10 Feb 2021 21:16:39 +0000
4Subject: [PATCH 1/3] gkeyfilesettingsbackend: Fix basename handling when group
5 is unset
6
7Fix an effective regression in commit
87781a9cbd2fd0aa84bee0f4eee88470640ff6706, which happens when
9`convert_path()` is called with a `key` which contains no slashes. In
10that case, the `key` is entirely the `basename`.
11
12Prior to commit 7781a9cb, the code worked through a fluke of `i == -1`
13cancelling out with the various additions in the `g_memdup()` call, and
14effectively resulting in `g_strdup (key)`.
15
16Spotted by Guido Berhoerster.
17
18Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
19---
20 gio/gkeyfilesettingsbackend.c | 7 ++++++-
21 1 file changed, 6 insertions(+), 1 deletion(-)
22
23diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
24index 25b057672..861c3a661 100644
25--- a/gio/gkeyfilesettingsbackend.c
26+++ b/gio/gkeyfilesettingsbackend.c
27@@ -185,7 +185,12 @@ convert_path (GKeyfileSettingsBackend *kfsb,
28 }
29
30 if (basename)
31- *basename = g_memdup2 (last_slash + 1, key_len - (last_slash - key));
32+ {
33+ if (last_slash != NULL)
34+ *basename = g_memdup2 (last_slash + 1, key_len - (last_slash - key));
35+ else
36+ *basename = g_strdup (key);
37+ }
38
39 return TRUE;
40 }
41--
422.30.1
43