Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

__xmlRaiseError: fix use of the structured callback channel

If the structured callback channel is initialized, do not perform
unneeded initialization of the old callback channel to avoid
clobbering of the structured callback channel's data.
  • Loading branch information...
commit c2a0fdc4e6d106690d7fd8fa1677e133c94e155d 1 parent 241d4a1
Dmitry V. Levin authored veillard committed
Showing with 8 additions and 13 deletions.
  1. +8 −13 error.c
View
21 error.c
@@ -584,6 +584,11 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel,
if (to != &xmlLastError)
xmlCopyError(to,&xmlLastError);
+ if (schannel != NULL) {
+ schannel(data, to);
+ return;
+ }
+
/*
* Find the callback channel if channel param is NULL
*/
@@ -595,19 +600,9 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel,
channel = ctxt->sax->error;
data = ctxt->userData;
} else if (channel == NULL) {
- if ((schannel == NULL) && (xmlStructuredError != NULL)) {
- schannel = xmlStructuredError;
- data = xmlStructuredErrorContext;
- } else {
- channel = xmlGenericError;
- if (!data) {
- data = xmlGenericErrorContext;
- }
- }
- }
- if (schannel != NULL) {
- schannel(data, to);
- return;
+ channel = xmlGenericError;
+ if (!data)
+ data = xmlGenericErrorContext;
}
if (channel == NULL)
return;
Please sign in to comment.
Something went wrong with that request. Please try again.