projects
/
shibboleth
/
cpp-xmltooling.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0beb6f0
)
Handle case where parser returns a null document.
author
Scott Cantor
<cantor.2@osu.edu>
Fri, 30 Jan 2009 21:48:06 +0000
(21:48 +0000)
committer
Scott Cantor
<cantor.2@osu.edu>
Fri, 30 Jan 2009 21:48:06 +0000
(21:48 +0000)
xmltooling/util/ParserPool.cpp
patch
|
blob
|
history
diff --git
a/xmltooling/util/ParserPool.cpp
b/xmltooling/util/ParserPool.cpp
index
1ac8ef8
..
9397978
100644
(file)
--- a/
xmltooling/util/ParserPool.cpp
+++ b/
xmltooling/util/ParserPool.cpp
@@
-122,7
+122,8
@@
DOMDocument* ParserPool::parse(DOMLSInput& domsrc)
parser->getDomConfig()->setParameter(XMLUni::fgDOMErrorHandler, dynamic_cast<DOMErrorHandler*>(&deh));
DOMDocument* doc=parser->parse(&domsrc);
if (deh.errors) {
parser->getDomConfig()->setParameter(XMLUni::fgDOMErrorHandler, dynamic_cast<DOMErrorHandler*>(&deh));
DOMDocument* doc=parser->parse(&domsrc);
if (deh.errors) {
- doc->release();
+ if (doc)
+ doc->release();
throw XMLParserException("XML error(s) during parsing, check log for specifics");
}
parser->getDomConfig()->setParameter(XMLUni::fgDOMErrorHandler, (void*)NULL);
throw XMLParserException("XML error(s) during parsing, check log for specifics");
}
parser->getDomConfig()->setParameter(XMLUni::fgDOMErrorHandler, (void*)NULL);
@@
-156,7
+157,8
@@
DOMDocument* ParserPool::parse(DOMInputSource& domsrc)
parser->setErrorHandler(&deh);
DOMDocument* doc=parser->parse(domsrc);
if (deh.errors) {
parser->setErrorHandler(&deh);
DOMDocument* doc=parser->parse(domsrc);
if (deh.errors) {
- doc->release();
+ if (doc)
+ doc->release();
throw XMLParserException("XML error(s) during parsing, check log for specifics");
}
parser->setErrorHandler(NULL);
throw XMLParserException("XML error(s) during parsing, check log for specifics");
}
parser->setErrorHandler(NULL);