@@ -4353,7 +4353,7 @@ Node* TY_(ParseHTML)( TidyDocImpl *doc, Node *html, GetTokenMode mode, Bool popS
43534353 }
43544354
43554355 /* Find and discard multiple <html> elements. */
4356- if (node -> tag == html -> tag && node -> type == StartTag )
4356+ if (html && ( node -> tag == html -> tag ) && ( node -> type == StartTag ) )
43574357 {
43584358 TY_ (Report )(doc , html , node , DISCARDING_UNEXPECTED );
43594359 TY_ (FreeNode )(doc , node );
@@ -5387,7 +5387,7 @@ Node* TY_(ParseNamespace)( TidyDocImpl* doc, Node *basenode, GetTokenMode mode,
53875387 TY_ (FreeNode )(doc , node );
53885388
53895389 node = n ;
5390- parent = node -> parent ;
5390+ parent = node ? node -> parent : NULL ;
53915391 }
53925392 else
53935393 {
@@ -5401,7 +5401,7 @@ Node* TY_(ParseNamespace)( TidyDocImpl* doc, Node *basenode, GetTokenMode mode,
54015401 if (node == basenode )
54025402 {
54035403 lexer -> istackbase = istackbase ;
5404- assert (basenode -> closed == yes );
5404+ assert (basenode && basenode -> closed == yes );
54055405 return NULL ;
54065406 }
54075407 }
@@ -6301,14 +6301,16 @@ void TY_(InsertNodeAtStart)(Node *element, Node *node)
63016301void TY_ (InsertNodeAtEnd )(Node * element , Node * node )
63026302{
63036303 node -> parent = element ;
6304- node -> prev = element -> last ;
6304+ node -> prev = element ? element -> last : NULL ;
63056305
6306- if (element -> last != NULL )
6306+ if (element && element -> last != NULL )
63076307 element -> last -> next = node ;
63086308 else
6309- element -> content = node ;
6309+ if (element )
6310+ element -> content = node ;
63106311
6311- element -> last = node ;
6312+ if (element )
6313+ element -> last = node ;
63126314}
63136315
63146316
@@ -6319,16 +6321,17 @@ void TY_(InsertNodeBeforeElement)(Node *element, Node *node)
63196321{
63206322 Node * parent ;
63216323
6322- parent = element -> parent ;
6324+ parent = element ? element -> parent : NULL ;
63236325 node -> parent = parent ;
63246326 node -> next = element ;
6325- node -> prev = element -> prev ;
6326- element -> prev = node ;
6327+ node -> prev = element ? element -> prev : NULL ;
6328+ if (element )
6329+ element -> prev = node ;
63276330
63286331 if (node -> prev )
63296332 node -> prev -> next = node ;
63306333
6331- if (parent -> content == element )
6334+ if (parent && parent -> content == element )
63326335 parent -> content = node ;
63336336}
63346337
0 commit comments