As described in the source comment in this commit, expat attempts to recognize
CDATA section enders which results in some internal buffering that Graphviz did
not anticipate. Specifically, any HTML content ending in "]" or "]]" would be
parsed with these characters truncated. The next call to expat would flush this
buffered data, resulting in Graphviz believing the next content was malformed.
For example, the content "my label]]]" would be parsed as the text "my label]".
The next call to expat would return "]]" prepended to whatever was then being
parsed.