nokogiri 1.10.4 → 1.10.10
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of nokogiri might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/dependencies.yml +28 -26
- data/ext/nokogiri/xml_schema.c +29 -0
- data/lib/nokogiri/version.rb +1 -1
- data/patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch +25 -0
- data/patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch +32 -0
- data/ports/archives/libxml2-2.9.10.tar.gz +0 -0
- data/ports/archives/libxslt-1.1.34.tar.gz +0 -0
- metadata +20 -14
- data/patches/libxslt/0001-Fix-security-framework-bypass.patch +0 -120
- data/ports/archives/libxml2-2.9.9.tar.gz +0 -0
- data/ports/archives/libxslt-1.1.33.tar.gz +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ea976ad079c6e265a2275365b6572541c675b6815a8cc08b6cdd18e08f86764
|
4
|
+
data.tar.gz: 33d11553009bb7563d6594802e0de35f5c950d7df07b828c54b6411f573d4a99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8b1e1b238c4a0f4354bb7358a31dbf2288cc654313267e65bbbacb996abf28eb7d40122fae3a27f0ae9a589531c6717a0f7be4660412b757a95b15e12661b30
|
7
|
+
data.tar.gz: 87769ba4a458792224e910db95258ae447714a0b732e69832d7ab643d798827e27faeafe29936067b4d07affb144dd88f6ab09de47e296c9f67b0bc4093176a8
|
data/dependencies.yml
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
libxml2:
|
2
|
-
version: "2.9.
|
3
|
-
sha256: "
|
2
|
+
version: "2.9.10"
|
3
|
+
sha256: "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f"
|
4
4
|
# manually verified checksum:
|
5
5
|
#
|
6
|
-
# $ gpg --verify libxml2-2.9.
|
7
|
-
# gpg: Signature made
|
8
|
-
# gpg: using RSA key
|
6
|
+
# $ gpg --verify libxml2-2.9.10.tar.gz.asc ports/archives/libxml2-2.9.10.tar.gz
|
7
|
+
# gpg: Signature made Wed 30 Oct 2019 03:15:42 PM EDT
|
8
|
+
# gpg: using RSA key DB46681BB91ADCEA170FA2D415588B26596BEA5D
|
9
9
|
# gpg: Good signature from "Daniel Veillard (Red Hat work email) <veillard@redhat.com>" [unknown]
|
10
10
|
# gpg: aka "Daniel Veillard <Daniel.Veillard@w3.org>" [unknown]
|
11
11
|
# gpg: WARNING: This key is not certified with a trusted signature!
|
@@ -16,25 +16,26 @@ libxml2:
|
|
16
16
|
# using this pgp signature:
|
17
17
|
#
|
18
18
|
# -----BEGIN PGP SIGNATURE-----
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
#
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
19
|
+
#
|
20
|
+
# iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl254V4ACgkQFViLJllr
|
21
|
+
# 6l0ldAf6Azt4/oKDfMKRd+xaykUrb+34dr2ZRsjRDS1cnelAtL9TCWhE5lOkLI3c
|
22
|
+
# 3FyNRaLhOEOOluZmKTJYyzS42JSSHDhxGj14gIeyafOjvRhHG3h1m5GvMmvgKWkd
|
23
|
+
# qzxFrVFSG26iWJxMvxIA88t7M+QHb7ff7xR29ETJscewEmAd3LmZITglK02lWeGz
|
24
|
+
# LfxfLuakM6RnCUu0dzacJKO0nMOKju+RL/N9bciI/UOhNYEkWqPnzC0GzbvFLqDu
|
25
|
+
# rM+OvCSewSTziiejpdrUwYXkY5Ui2+cxUbacLauEr8iRLg7xXKqv27NORE4yeQcS
|
26
|
+
# LgIhxG/qSNfihMS6E1ZO5bK2DbGCZQ==
|
27
|
+
# =ZNuc
|
27
28
|
# -----END PGP SIGNATURE-----
|
28
29
|
#
|
29
30
|
|
30
31
|
libxslt:
|
31
|
-
version: "1.1.
|
32
|
-
sha256: "
|
32
|
+
version: "1.1.34"
|
33
|
+
sha256: "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f"
|
33
34
|
# manually verified checksum:
|
34
35
|
#
|
35
|
-
# $ gpg --verify libxslt-1.1.
|
36
|
-
# gpg: Signature made
|
37
|
-
# gpg: using RSA key
|
36
|
+
# $ gpg --verify ~/Downloads/libxslt-1.1.34.tar.gz.asc ports/archives/libxslt-1.1.34.tar.gz
|
37
|
+
# gpg: Signature made Wed 30 Oct 2019 04:02:48 PM EDT
|
38
|
+
# gpg: using RSA key DB46681BB91ADCEA170FA2D415588B26596BEA5D
|
38
39
|
# gpg: Good signature from "Daniel Veillard (Red Hat work email) <veillard@redhat.com>" [unknown]
|
39
40
|
# gpg: aka "Daniel Veillard <Daniel.Veillard@w3.org>" [unknown]
|
40
41
|
# gpg: WARNING: This key is not certified with a trusted signature!
|
@@ -45,14 +46,15 @@ libxslt:
|
|
45
46
|
# using this pgp signature:
|
46
47
|
#
|
47
48
|
# -----BEGIN PGP SIGNATURE-----
|
48
|
-
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
#
|
52
|
-
#
|
53
|
-
#
|
54
|
-
#
|
55
|
-
#
|
49
|
+
#
|
50
|
+
# iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl257GgACgkQFViLJllr
|
51
|
+
# 6l2vVggAjJEHmASiS56SxhPOsGqbfBihM66gQFoIymQfMu2430N1GSTkLsfbkJO8
|
52
|
+
# 8yBX11NjzK/m9uxwshMW3rVCU7EpL3PUimN3reXdPiQj9hAOAWF1V3BZNevbQC2E
|
53
|
+
# FCIraioukaidf8sjUG4/sGpK/gOcP/3hYoN0HUoBigCNJjDqhijxM3M3GJJtCASp
|
54
|
+
# jL4CQbs2OmxW8ixOZbuWEESvFFHUgYRsdZjRVN+GRfSOvJjxypurmYwQ3RjO7JxL
|
55
|
+
# 2FY8qKQ+xpeID8NV8F5OUEvWBjk1QS133VTqBZNlONdnEtV/og6jNu5k0O/Kvhup
|
56
|
+
# caR+8TMErOcLr9OgDklO6DoYyAsf9Q==
|
57
|
+
# =g4i4
|
56
58
|
# -----END PGP SIGNATURE-----
|
57
59
|
#
|
58
60
|
|
data/ext/nokogiri/xml_schema.c
CHANGED
@@ -133,6 +133,31 @@ static VALUE read_memory(VALUE klass, VALUE content)
|
|
133
133
|
return rb_schema;
|
134
134
|
}
|
135
135
|
|
136
|
+
/* Schema creation will remove and deallocate "blank" nodes.
|
137
|
+
* If those blank nodes have been exposed to Ruby, they could get freed
|
138
|
+
* out from under the VALUE pointer. This function checks to see if any of
|
139
|
+
* those nodes have been exposed to Ruby, and if so we should raise an exception.
|
140
|
+
*/
|
141
|
+
static int has_blank_nodes_p(VALUE cache)
|
142
|
+
{
|
143
|
+
long i;
|
144
|
+
|
145
|
+
if (NIL_P(cache)) {
|
146
|
+
return 0;
|
147
|
+
}
|
148
|
+
|
149
|
+
for (i = 0; i < RARRAY_LEN(cache); i++) {
|
150
|
+
xmlNodePtr node;
|
151
|
+
VALUE element = rb_ary_entry(cache, i);
|
152
|
+
Data_Get_Struct(element, xmlNode, node);
|
153
|
+
if (xmlIsBlankNode(node)) {
|
154
|
+
return 1;
|
155
|
+
}
|
156
|
+
}
|
157
|
+
|
158
|
+
return 0;
|
159
|
+
}
|
160
|
+
|
136
161
|
/*
|
137
162
|
* call-seq:
|
138
163
|
* from_document(doc)
|
@@ -152,6 +177,10 @@ static VALUE from_document(VALUE klass, VALUE document)
|
|
152
177
|
/* In case someone passes us a node. ugh. */
|
153
178
|
doc = doc->doc;
|
154
179
|
|
180
|
+
if (has_blank_nodes_p(DOC_NODE_CACHE(doc))) {
|
181
|
+
rb_raise(rb_eArgError, "Creating a schema from a document that has blank nodes exposed to Ruby is dangerous");
|
182
|
+
}
|
183
|
+
|
155
184
|
ctx = xmlSchemaNewDocParserCtxt(doc);
|
156
185
|
|
157
186
|
errors = rb_ary_new();
|
data/lib/nokogiri/version.rb
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
From 0b6ae484761fa01242fe8b67b54e3eb2d282d83d Mon Sep 17 00:00:00 2001
|
2
|
+
From: Mike Dalessio <mike.dalessio@gmail.com>
|
3
|
+
Date: Wed, 4 Dec 2019 08:43:51 -0500
|
4
|
+
Subject: [PATCH] fix libxml2.la's path
|
5
|
+
|
6
|
+
---
|
7
|
+
Makefile.in | 2 +-
|
8
|
+
1 file changed, 1 insertion(+), 1 deletion(-)
|
9
|
+
|
10
|
+
diff --git a/Makefile.in b/Makefile.in
|
11
|
+
index cf96d41..1372d8b 100644
|
12
|
+
--- a/Makefile.in
|
13
|
+
+++ b/Makefile.in
|
14
|
+
@@ -1057,7 +1057,7 @@ clean-noinstLTLIBRARIES:
|
15
|
+
rm -f $${locs}; \
|
16
|
+
}
|
17
|
+
|
18
|
+
-libxml2.la: $(libxml2_la_OBJECTS) $(libxml2_la_DEPENDENCIES) $(EXTRA_libxml2_la_DEPENDENCIES)
|
19
|
+
+$(top_builddir)/libxml2.la: $(libxml2_la_OBJECTS) $(libxml2_la_DEPENDENCIES) $(EXTRA_libxml2_la_DEPENDENCIES)
|
20
|
+
$(AM_V_CCLD)$(libxml2_la_LINK) -rpath $(libdir) $(libxml2_la_OBJECTS) $(libxml2_la_LIBADD) $(LIBS)
|
21
|
+
|
22
|
+
testdso.la: $(testdso_la_OBJECTS) $(testdso_la_DEPENDENCIES) $(EXTRA_testdso_la_DEPENDENCIES)
|
23
|
+
--
|
24
|
+
2.17.1
|
25
|
+
|
@@ -0,0 +1,32 @@
|
|
1
|
+
From 0e1a49c8907645d2e155f0d89d4d9895ac5112b5 Mon Sep 17 00:00:00 2001
|
2
|
+
From: Zhipeng Xie <xiezhipeng1@huawei.com>
|
3
|
+
Date: Thu, 12 Dec 2019 17:30:55 +0800
|
4
|
+
Subject: [PATCH] Fix infinite loop in xmlStringLenDecodeEntities
|
5
|
+
|
6
|
+
When ctxt->instate == XML_PARSER_EOF,xmlParseStringEntityRef
|
7
|
+
return NULL which cause a infinite loop in xmlStringLenDecodeEntities
|
8
|
+
|
9
|
+
Found with libFuzzer.
|
10
|
+
|
11
|
+
Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com>
|
12
|
+
---
|
13
|
+
parser.c | 3 ++-
|
14
|
+
1 file changed, 2 insertions(+), 1 deletion(-)
|
15
|
+
|
16
|
+
diff --git a/parser.c b/parser.c
|
17
|
+
index d1c3196..a34bb6c 100644
|
18
|
+
--- a/parser.c
|
19
|
+
+++ b/parser.c
|
20
|
+
@@ -2646,7 +2646,8 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
|
21
|
+
else
|
22
|
+
c = 0;
|
23
|
+
while ((c != 0) && (c != end) && /* non input consuming loop */
|
24
|
+
- (c != end2) && (c != end3)) {
|
25
|
+
+ (c != end2) && (c != end3) &&
|
26
|
+
+ (ctxt->instate != XML_PARSER_EOF)) {
|
27
|
+
|
28
|
+
if (c == 0) break;
|
29
|
+
if ((c == '&') && (str[1] == '#')) {
|
30
|
+
--
|
31
|
+
2.17.1
|
32
|
+
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nokogiri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.10.
|
4
|
+
version: 1.10.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Patterson
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date:
|
17
|
+
date: 2020-07-06 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: mini_portile2
|
@@ -148,28 +148,28 @@ dependencies:
|
|
148
148
|
requirements:
|
149
149
|
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: 1.0
|
151
|
+
version: 1.1.0
|
152
152
|
type: :development
|
153
153
|
prerelease: false
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
156
|
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: 1.0
|
158
|
+
version: 1.1.0
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
160
|
name: rake-compiler-dock
|
161
161
|
requirement: !ruby/object:Gem::Requirement
|
162
162
|
requirements:
|
163
163
|
- - "~>"
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
165
|
+
version: '1.0'
|
166
166
|
type: :development
|
167
167
|
prerelease: false
|
168
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
169
|
requirements:
|
170
170
|
- - "~>"
|
171
171
|
- !ruby/object:Gem::Version
|
172
|
-
version:
|
172
|
+
version: '1.0'
|
173
173
|
- !ruby/object:Gem::Dependency
|
174
174
|
name: rexical
|
175
175
|
requirement: !ruby/object:Gem::Requirement
|
@@ -238,14 +238,14 @@ dependencies:
|
|
238
238
|
requirements:
|
239
239
|
- - "~>"
|
240
240
|
- !ruby/object:Gem::Version
|
241
|
-
version: '3.
|
241
|
+
version: '3.22'
|
242
242
|
type: :development
|
243
243
|
prerelease: false
|
244
244
|
version_requirements: !ruby/object:Gem::Requirement
|
245
245
|
requirements:
|
246
246
|
- - "~>"
|
247
247
|
- !ruby/object:Gem::Version
|
248
|
-
version: '3.
|
248
|
+
version: '3.22'
|
249
249
|
description: |-
|
250
250
|
Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among
|
251
251
|
Nokogiri's many features is the ability to search documents via XPath
|
@@ -442,13 +442,19 @@ files:
|
|
442
442
|
- patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch
|
443
443
|
- patches/libxml2/0002-Remove-script-macro-support.patch
|
444
444
|
- patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch
|
445
|
-
- patches/
|
446
|
-
-
|
447
|
-
- ports/archives/
|
448
|
-
|
445
|
+
- patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch
|
446
|
+
- patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch
|
447
|
+
- ports/archives/libxml2-2.9.10.tar.gz
|
448
|
+
- ports/archives/libxslt-1.1.34.tar.gz
|
449
|
+
homepage: https://nokogiri.org
|
449
450
|
licenses:
|
450
451
|
- MIT
|
451
|
-
metadata:
|
452
|
+
metadata:
|
453
|
+
homepage_uri: https://nokogiri.org
|
454
|
+
bug_tracker_uri: https://github.com/sparklemotion/nokogiri/issues
|
455
|
+
documentation_uri: https://nokogiri.org/rdoc/index.html
|
456
|
+
changelog_uri: https://nokogiri.org/CHANGELOG.html
|
457
|
+
source_code_uri: https://github.com/sparklemotion/nokogiri
|
452
458
|
post_install_message:
|
453
459
|
rdoc_options:
|
454
460
|
- "--main"
|
@@ -466,7 +472,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
466
472
|
- !ruby/object:Gem::Version
|
467
473
|
version: '0'
|
468
474
|
requirements: []
|
469
|
-
rubygems_version: 3.0.
|
475
|
+
rubygems_version: 3.0.8
|
470
476
|
signing_key:
|
471
477
|
specification_version: 4
|
472
478
|
summary: Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser
|
@@ -1,120 +0,0 @@
|
|
1
|
-
From e03553605b45c88f0b4b2980adfbbb8f6fca2fd6 Mon Sep 17 00:00:00 2001
|
2
|
-
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
3
|
-
Date: Sun, 24 Mar 2019 09:51:39 +0100
|
4
|
-
Subject: [PATCH] Fix security framework bypass
|
5
|
-
|
6
|
-
xsltCheckRead and xsltCheckWrite return -1 in case of error but callers
|
7
|
-
don't check for this condition and allow access. With a specially
|
8
|
-
crafted URL, xsltCheckRead could be tricked into returning an error
|
9
|
-
because of a supposedly invalid URL that would still be loaded
|
10
|
-
succesfully later on.
|
11
|
-
|
12
|
-
Fixes #12.
|
13
|
-
|
14
|
-
Thanks to Felix Wilhelm for the report.
|
15
|
-
---
|
16
|
-
libxslt/documents.c | 18 ++++++++++--------
|
17
|
-
libxslt/imports.c | 9 +++++----
|
18
|
-
libxslt/transform.c | 9 +++++----
|
19
|
-
libxslt/xslt.c | 9 +++++----
|
20
|
-
4 files changed, 25 insertions(+), 20 deletions(-)
|
21
|
-
|
22
|
-
diff --git a/libxslt/documents.c b/libxslt/documents.c
|
23
|
-
index 3f3a731..4aad11b 100644
|
24
|
-
--- a/libxslt/documents.c
|
25
|
-
+++ b/libxslt/documents.c
|
26
|
-
@@ -296,10 +296,11 @@ xsltLoadDocument(xsltTransformContextPtr ctxt, const xmlChar *URI) {
|
27
|
-
int res;
|
28
|
-
|
29
|
-
res = xsltCheckRead(ctxt->sec, ctxt, URI);
|
30
|
-
- if (res == 0) {
|
31
|
-
- xsltTransformError(ctxt, NULL, NULL,
|
32
|
-
- "xsltLoadDocument: read rights for %s denied\n",
|
33
|
-
- URI);
|
34
|
-
+ if (res <= 0) {
|
35
|
-
+ if (res == 0)
|
36
|
-
+ xsltTransformError(ctxt, NULL, NULL,
|
37
|
-
+ "xsltLoadDocument: read rights for %s denied\n",
|
38
|
-
+ URI);
|
39
|
-
return(NULL);
|
40
|
-
}
|
41
|
-
}
|
42
|
-
@@ -372,10 +373,11 @@ xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) {
|
43
|
-
int res;
|
44
|
-
|
45
|
-
res = xsltCheckRead(sec, NULL, URI);
|
46
|
-
- if (res == 0) {
|
47
|
-
- xsltTransformError(NULL, NULL, NULL,
|
48
|
-
- "xsltLoadStyleDocument: read rights for %s denied\n",
|
49
|
-
- URI);
|
50
|
-
+ if (res <= 0) {
|
51
|
-
+ if (res == 0)
|
52
|
-
+ xsltTransformError(NULL, NULL, NULL,
|
53
|
-
+ "xsltLoadStyleDocument: read rights for %s denied\n",
|
54
|
-
+ URI);
|
55
|
-
return(NULL);
|
56
|
-
}
|
57
|
-
}
|
58
|
-
diff --git a/libxslt/imports.c b/libxslt/imports.c
|
59
|
-
index 874870c..3783b24 100644
|
60
|
-
--- a/libxslt/imports.c
|
61
|
-
+++ b/libxslt/imports.c
|
62
|
-
@@ -130,10 +130,11 @@ xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur) {
|
63
|
-
int secres;
|
64
|
-
|
65
|
-
secres = xsltCheckRead(sec, NULL, URI);
|
66
|
-
- if (secres == 0) {
|
67
|
-
- xsltTransformError(NULL, NULL, NULL,
|
68
|
-
- "xsl:import: read rights for %s denied\n",
|
69
|
-
- URI);
|
70
|
-
+ if (secres <= 0) {
|
71
|
-
+ if (secres == 0)
|
72
|
-
+ xsltTransformError(NULL, NULL, NULL,
|
73
|
-
+ "xsl:import: read rights for %s denied\n",
|
74
|
-
+ URI);
|
75
|
-
goto error;
|
76
|
-
}
|
77
|
-
}
|
78
|
-
diff --git a/libxslt/transform.c b/libxslt/transform.c
|
79
|
-
index 1379391..0636dbd 100644
|
80
|
-
--- a/libxslt/transform.c
|
81
|
-
+++ b/libxslt/transform.c
|
82
|
-
@@ -3493,10 +3493,11 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
|
83
|
-
*/
|
84
|
-
if (ctxt->sec != NULL) {
|
85
|
-
ret = xsltCheckWrite(ctxt->sec, ctxt, filename);
|
86
|
-
- if (ret == 0) {
|
87
|
-
- xsltTransformError(ctxt, NULL, inst,
|
88
|
-
- "xsltDocumentElem: write rights for %s denied\n",
|
89
|
-
- filename);
|
90
|
-
+ if (ret <= 0) {
|
91
|
-
+ if (ret == 0)
|
92
|
-
+ xsltTransformError(ctxt, NULL, inst,
|
93
|
-
+ "xsltDocumentElem: write rights for %s denied\n",
|
94
|
-
+ filename);
|
95
|
-
xmlFree(URL);
|
96
|
-
xmlFree(filename);
|
97
|
-
return;
|
98
|
-
diff --git a/libxslt/xslt.c b/libxslt/xslt.c
|
99
|
-
index 780a5ad..a234eb7 100644
|
100
|
-
--- a/libxslt/xslt.c
|
101
|
-
+++ b/libxslt/xslt.c
|
102
|
-
@@ -6763,10 +6763,11 @@ xsltParseStylesheetFile(const xmlChar* filename) {
|
103
|
-
int res;
|
104
|
-
|
105
|
-
res = xsltCheckRead(sec, NULL, filename);
|
106
|
-
- if (res == 0) {
|
107
|
-
- xsltTransformError(NULL, NULL, NULL,
|
108
|
-
- "xsltParseStylesheetFile: read rights for %s denied\n",
|
109
|
-
- filename);
|
110
|
-
+ if (res <= 0) {
|
111
|
-
+ if (res == 0)
|
112
|
-
+ xsltTransformError(NULL, NULL, NULL,
|
113
|
-
+ "xsltParseStylesheetFile: read rights for %s denied\n",
|
114
|
-
+ filename);
|
115
|
-
return(NULL);
|
116
|
-
}
|
117
|
-
}
|
118
|
-
--
|
119
|
-
2.17.1
|
120
|
-
|
Binary file
|
Binary file
|