diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-12-11 22:18:05 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-12-11 22:18:05 +0100 |
commit | b03e4fd5269897448124a7b61a737802b2c638ee (patch) | |
tree | e4eaab1d3076e335c57eea462ff7fda7919f0831 /gnu/packages/patches/jq-CVE-2015-8863.patch | |
parent | da3c6a7f19ef1243af725f63c16c8fd92fde33b4 (diff) | |
parent | 99aad42138e0895df51e64e1261984f277952516 (diff) | |
download | guix-patches-b03e4fd5269897448124a7b61a737802b2c638ee.tar guix-patches-b03e4fd5269897448124a7b61a737802b2c638ee.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/patches/jq-CVE-2015-8863.patch')
-rw-r--r-- | gnu/packages/patches/jq-CVE-2015-8863.patch | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/gnu/packages/patches/jq-CVE-2015-8863.patch b/gnu/packages/patches/jq-CVE-2015-8863.patch deleted file mode 100644 index 20b3bb3f06..0000000000 --- a/gnu/packages/patches/jq-CVE-2015-8863.patch +++ /dev/null @@ -1,45 +0,0 @@ -Fix CVE-2015-8863 (Off-by-one error in the tokenadd function in -jv_parse.c in jq allows remote attackers to cause a denial of service -(crash) via a long JSON-encoded number, which triggers a heap-based -buffer overflow): - -<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8863> - -Copied from upstream code repository: - -<https://github.com/stedolan/jq/commit/8eb1367ca44e772963e704a700ef72ae2e12babd> - -From 8eb1367ca44e772963e704a700ef72ae2e12babd Mon Sep 17 00:00:00 2001 -From: Nicolas Williams <nico@cryptonector.com> -Date: Sat, 24 Oct 2015 17:24:57 -0500 -Subject: [PATCH] Heap buffer overflow in tokenadd() (fix #105) - -This was an off-by one: the NUL terminator byte was not allocated on -resize. This was triggered by JSON-encoded numbers longer than 256 -bytes. ---- - jv_parse.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/jv_parse.c b/jv_parse.c -index 3102ed4..84245b8 100644 ---- a/jv_parse.c -+++ b/jv_parse.c -@@ -383,7 +383,7 @@ static pfunc stream_token(struct jv_parser* p, char ch) { - - static void tokenadd(struct jv_parser* p, char c) { - assert(p->tokenpos <= p->tokenlen); -- if (p->tokenpos == p->tokenlen) { -+ if (p->tokenpos >= (p->tokenlen - 1)) { - p->tokenlen = p->tokenlen*2 + 256; - p->tokenbuf = jv_mem_realloc(p->tokenbuf, p->tokenlen); - } -@@ -485,7 +485,7 @@ static pfunc check_literal(struct jv_parser* p) { - TRY(value(p, v)); - } else { - // FIXME: better parser -- p->tokenbuf[p->tokenpos] = 0; // FIXME: invalid -+ p->tokenbuf[p->tokenpos] = 0; - char* end = 0; - double d = jvp_strtod(&p->dtoa, p->tokenbuf, &end); - if (end == 0 || *end != 0) |