blob: 1e5813f2299f836b180e03b54929bf341f9725d1 (
plain)
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
|
Subject: xmlstarlet: bail out if no dtd parsing support in libxml2
From: Robert Schwebel <r.schwebel@pengutronix.de>
We use xmlParseDTD without testing if libxml2 has support
for it enabled. This can result in the following linker error:
xml_validate.o: In function `valAgainstDtd':
xmlstarlet-1.0.1/src/xml_validate.c:229:
undefined reference to `xmlParseDTD'
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
---
#20091129: rsc: submitted to upstream:
# https://sourceforge.net/tracker/?func=detail&aid=2905714&group_id=66612&atid=515108
src/xml_validate.c | 5 +++++
1 file changed, 5 insertions(+)
Index: xmlstarlet-1.0.1/src/xml_validate.c
===================================================================
--- xmlstarlet-1.0.1.orig/src/xml_validate.c
+++ xmlstarlet-1.0.1/src/xml_validate.c
@@ -226,6 +226,11 @@ valAgainstDtd(valOptionsPtr ops, char* d
{
xmlDtdPtr dtd;
+#if !defined(LIBXML_VALID_ENABLED)
+ xmlGenericError(xmlGenericErrorContext,
+ "libxml2 has no validation support");
+ return 2;
+#endif
dtd = xmlParseDTD(NULL, (const xmlChar *)dtdvalid);
if (dtd == NULL)
{
|