diff --git a/cde/programs/nsgmls/parseSd.C b/cde/programs/nsgmls/parseSd.C index 4ed5c7a20..efd8532e5 100644 --- a/cde/programs/nsgmls/parseSd.C +++ b/cde/programs/nsgmls/parseSd.C @@ -276,8 +276,10 @@ Boolean Parser::implySgmlDecl() else spec = &coreSyntax; CharSwitcher switcher; - if (!setStandardSyntax(*syntaxp, *spec, sd().docCharset(), switcher)) + if (!setStandardSyntax(*syntaxp, *spec, sd().docCharset(), switcher)) { + delete syntaxp; return 0; + } syntaxp->implySgmlChar(sd().docCharset()); for (int i = 0; i < Syntax::nQuantity; i++) syntaxp->setQuantity(i, options().quantity[i]);