desktop-file-utils/desktop-file-utils-fdo94303-fix-buffer-over-read.patch

35 lines
1.0 KiB
Diff

From cddcd6612b66cb3963920b5f2734850a217d7020 Mon Sep 17 00:00:00 2001
From: Hans Petter Jansson <hpj@cl.no>
Date: Mon, 29 Feb 2016 01:50:14 +0100
Subject: [PATCH] validate: Fix buffer over-read on incomplete escape sequence.
https://bugs.freedesktop.org/show_bug.cgi?id=94303
---
src/validate.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/validate.c b/src/validate.c
index b4b752e..7403c18 100644
--- a/src/validate.c
+++ b/src/validate.c
@@ -1225,6 +1225,16 @@ handle_exec_key (kf_validator *kf,
break;
case '\\':
PRINT_INVALID_IF_FLAG;
+
+ /* Escape character immediately followed by \0? */
+ if (*(c + 1) == '\0') {
+ print_fatal (kf, "value \"%s\" for key \"%s\" in group \"%s\" "
+ "ends in an incomplete escape sequence\n",
+ value, locale_key, kf->current_group);
+ retval = FALSE;
+ break;
+ }
+
c++;
if (*c == '\\' && in_quote)
escaped = !escaped;
--
1.8.4.5