diff options
author | Tudor Florea <tudor.florea@enea.com> | 2015-10-08 22:51:41 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-08 22:51:41 +0200 |
commit | 1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch) | |
tree | a21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-oe/recipes-support/libyaml | |
download | meta-openembedded-1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e.tar.gz |
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-oe/recipes-support/libyaml')
-rw-r--r-- | meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch | 42 | ||||
-rw-r--r-- | meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb | 21 |
2 files changed, 63 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch b/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch new file mode 100644 index 000000000..2fdcba3ec --- /dev/null +++ b/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | Heap-based buffer overflow in the yaml_parser_scan_uri_escapes function | ||
2 | in LibYAML before 0.1.6 allows context-dependent attackers to execute | ||
3 | arbitrary code via a long sequence of percent-encoded characters in a | ||
4 | URI in a YAML file. | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
9 | --- | ||
10 | diff --git a/src/scanner.c.old b/src/scanner.c | ||
11 | index a2e8619..c6cde3b 100644 | ||
12 | --- a/src/scanner.c.old | ||
13 | +++ b/src/scanner.c | ||
14 | @@ -2619,6 +2619,9 @@ yaml_parser_scan_tag_uri(yaml_parser_t *parser, int directive, | ||
15 | /* Check if it is a URI-escape sequence. */ | ||
16 | |||
17 | if (CHECK(parser->buffer, '%')) { | ||
18 | + if (!STRING_EXTEND(parser, string)) | ||
19 | + goto error; | ||
20 | + | ||
21 | if (!yaml_parser_scan_uri_escapes(parser, | ||
22 | directive, start_mark, &string)) goto error; | ||
23 | } | ||
24 | diff --git a/src/yaml_private.h.old b/src/yaml_private.h | ||
25 | index ed5ea66..d72acb4 100644 | ||
26 | --- a/src/yaml_private.h.old | ||
27 | +++ b/src/yaml_private.h | ||
28 | @@ -132,9 +132,12 @@ yaml_string_join( | ||
29 | (string).start = (string).pointer = (string).end = 0) | ||
30 | |||
31 | #define STRING_EXTEND(context,string) \ | ||
32 | - (((string).pointer+5 < (string).end) \ | ||
33 | + ((((string).pointer+5 < (string).end) \ | ||
34 | || yaml_string_extend(&(string).start, \ | ||
35 | - &(string).pointer, &(string).end)) | ||
36 | + &(string).pointer, &(string).end)) ? \ | ||
37 | + 1 : \ | ||
38 | + ((context)->error = YAML_MEMORY_ERROR, \ | ||
39 | + 0)) | ||
40 | |||
41 | #define CLEAR(context,string) \ | ||
42 | ((string).pointer = (string).start, \ | ||
diff --git a/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb b/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb new file mode 100644 index 000000000..127954196 --- /dev/null +++ b/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | SUMMARY = "LibYAML is a YAML 1.1 parser and emitter written in C." | ||
2 | DESCRIPTION = "LibYAML is a C library for parsing and emitting data in YAML 1.1, \ | ||
3 | a human-readable data serialization format. " | ||
4 | HOMEPAGE = "http://pyyaml.org/wiki/LibYAML" | ||
5 | SECTION = "libs/devel" | ||
6 | |||
7 | LICENSE = "MIT" | ||
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17" | ||
9 | |||
10 | SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz \ | ||
11 | file://libyaml-CVE-2014-2525.patch \ | ||
12 | " | ||
13 | |||
14 | SRC_URI[md5sum] = "24f6093c1e840ca5df2eb09291a1dbf1" | ||
15 | SRC_URI[sha256sum] = "fa87ee8fb7b936ec04457bc044cd561155e1000a4d25029867752e543c2d3bef" | ||
16 | |||
17 | S = "${WORKDIR}/yaml-${PV}" | ||
18 | |||
19 | inherit autotools | ||
20 | |||
21 | BBCLASSEXTEND = "native" | ||