summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorJohn Emmas <johne53@tiscali.co.uk>2015-07-23 17:52:42 +0100
committerJohn Emmas <johne53@tiscali.co.uk>2015-07-23 17:55:14 +0100
commita7508a9cf007f52c40b2f86cd17f9b221b3e45e3 (patch)
treeb265b605df8b621bf48559c38b06fd244f60ec41 /gtk2_ardour
parentcf5a8651d848fa5333e1c567286fc0eec2b0a0f7 (diff)
When printing an XML related error, guard against NULL pointers getting passed to our error stream
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour_ui.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index b99d5e337f..b9bb084322 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -203,13 +203,19 @@ static void
libxml_structured_error_func (void* /* parsing_context*/,
xmlErrorPtr err)
{
- string msg = err->message;
+ string msg;
+
+ if (err->message)
+ msg = err->message;
replace_all (msg, "\n", "");
- error << X_("XML error: ") << msg << " in " << err->file << " at line " << err->line;
- if (err->int2) {
- error << ':' << err->int2;
+ if (err->file && err->line) {
+ error << X_("XML error: ") << msg << " in " << err->file << " at line " << err->line;
+
+ if (err->int2) {
+ error << ':' << err->int2;
+ }
}
error << endmsg;
}