unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
blob 733249acaad1cbecf97f3cea01bfb40522aeed1f 1449 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
Fix CVE-2016-7506:

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7506
http://bugs.ghostscript.com/show_bug.cgi?id=697141

Patch copied from upstream source repository:
http://git.ghostscript.com/?p=mujs.git;a=commitdiff;h=5000749f5afe3b956fc916e407309de840997f4a

From 5000749f5afe3b956fc916e407309de840997f4a Mon Sep 17 00:00:00 2001
From: Tor Andersson <tor.andersson@artifex.com>
Date: Wed, 21 Sep 2016 16:02:11 +0200
Subject: [PATCH] Fix bug 697141: buffer overrun in regexp string substitution.

A '$' escape at the end of the string would read past the zero terminator
when looking for the escaped character.
---
 jsstring.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/jsstring.c b/jsstring.c
index 66f6a89..0209a8e 100644
--- a/thirdparty/mujs/jsstring.c
+++ b/thirdparty/mujs/jsstring.c
@@ -421,6 +421,7 @@ loop:
 		while (*r) {
 			if (*r == '$') {
 				switch (*(++r)) {
+				case 0: --r; /* end of string; back up and fall through */
 				case '$': js_putc(J, &sb, '$'); break;
 				case '`': js_putm(J, &sb, source, s); break;
 				case '\'': js_puts(J, &sb, s + n); break;
@@ -516,6 +517,7 @@ static void Sp_replace_string(js_State *J)
 		while (*r) {
 			if (*r == '$') {
 				switch (*(++r)) {
+				case 0: --r; /* end of string; back up and fall through */
 				case '$': js_putc(J, &sb, '$'); break;
 				case '&': js_putm(J, &sb, s, s + n); break;
 				case '`': js_putm(J, &sb, source, s); break;
-- 
2.10.2


debug log:

solving 733249aca ...
found 733249aca in https://git.savannah.gnu.org/cgit/guix.git

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).