Skip to content

Commit 5f98ccd

Browse files
committed
Static analyzer fixes.
1 parent bd751a8 commit 5f98ccd

File tree

7 files changed

+15
-18
lines changed

7 files changed

+15
-18
lines changed

src/fileio.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ void TY_(freeFileSource)( TidyInputSource* inp, Bool closeIt )
7676
if ( closeIt && fin && fin->fp )
7777
fclose( fin->fp );
7878
tidyBufFree( &fin->unget );
79-
TidyFree( fin->unget.allocator, fin );
79+
if (fin)
80+
TidyFree( fin->unget.allocator, fin );
8081
}
8182

8283
void TIDY_CALL TY_(filesink_putByte)( void* sinkData, byte bv )

src/lexer.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4477,7 +4477,7 @@ void TY_(growStack)(Stack *stack)
44774477
{
44784478
uint new_capacity = stack->capacity * 2;
44794479

4480-
Node **firstNode = (Node **)TidyAlloc(stack->allocator, new_capacity);
4480+
Node **firstNode = (Node **)TidyAlloc(stack->allocator, new_capacity * sizeof(Node**));
44814481

44824482
memcpy( firstNode, stack->firstNode, sizeof(Node**) * (stack->top + 1) );
44834483
TidyFree(stack->allocator, stack->firstNode);

src/message.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -792,7 +792,7 @@ TidyMessageImpl *formatStandard(TidyDocImpl* doc, Node *element, Node *node, uin
792792

793793
case TAG_NOT_ALLOWED_IN:
794794
/* Can we use `rpt` here? No; `element` has a value in every case. */
795-
return TY_(tidyMessageCreateWithNode)(doc, node, code, level, nodedesc, element->element );
795+
return TY_(tidyMessageCreateWithNode)(doc, node, code, level, nodedesc, element ? element->element : NULL );
796796

797797
case INSERTING_TAG:
798798
case MISSING_STARTTAG:
@@ -804,7 +804,7 @@ TidyMessageImpl *formatStandard(TidyDocImpl* doc, Node *element, Node *node, uin
804804

805805
case UNEXPECTED_ENDTAG_IN:
806806
/* Can we use `rpt` here? No; `element` has a value in every case. */
807-
return TY_(tidyMessageCreateWithNode)(doc, node, code, level, node->element, element->element );
807+
return TY_(tidyMessageCreateWithNode)(doc, node, code, level, node->element, element ? element->element : NULL );
808808

809809
case BAD_CDATA_CONTENT:
810810
case CONTENT_AFTER_BODY:
@@ -848,16 +848,16 @@ TidyMessageImpl *formatStandard(TidyDocImpl* doc, Node *element, Node *node, uin
848848
case MISSING_ENDTAG_FOR:
849849
case MISSING_ENDTAG_OPTIONAL:
850850
case PREVIOUS_LOCATION:
851-
return TY_(tidyMessageCreateWithNode)(doc, rpt, code, level, element->element );
851+
return TY_(tidyMessageCreateWithNode)(doc, rpt, code, level, element? element->element : NULL );
852852

853853
case MISSING_ENDTAG_BEFORE:
854-
return TY_(tidyMessageCreateWithNode)(doc, rpt, code, level, element->element, nodedesc );
854+
return TY_(tidyMessageCreateWithNode)(doc, rpt, code, level, element? element->element : NULL, nodedesc );
855855

856856
case COERCE_TO_ENDTAG:
857857
case NON_MATCHING_ENDTAG:
858858
return TY_(tidyMessageCreateWithNode)(doc, rpt, code, level, node->element, node->element );
859859
case TOO_MANY_ELEMENTS_IN:
860-
return TY_(tidyMessageCreateWithNode)(doc, rpt, code, level, node->element, element->element);
860+
return TY_(tidyMessageCreateWithNode)(doc, rpt, code, level, node->element, element ? element->element : NULL);
861861

862862
}
863863

@@ -1504,7 +1504,7 @@ uint TY_(getNextErrorCode)( TidyIterator* iter )
15041504
}
15051505

15061506
*iter = (TidyIterator)( itemIndex <= tidyErrorCodeListSize() ? itemIndex : (size_t)0 );
1507-
return item->value;
1507+
return item ? item->value : 0;
15081508
}
15091509

15101510

src/messageobj.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ static TidyMessageImpl *tidyMessageCreateInitV( TidyDocImpl *doc,
203203
i = TY_(tmbstrlen)(result->messageOutput);
204204
if (i < sizeMessageBuf)
205205
TY_(tmbsnprintf)(result->messageOutput + i, sizeMessageBuf - i, " (%s)", pc );
206-
i = 0;
207206
}
208207

209208
result->allowMessage = yes;

src/parser.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2345,7 +2345,7 @@ void* TY_(oldParseDefList)(TidyDocImpl* doc, Node *list, GetTokenMode mode)
23452345
* unless node has been blown away because the
23462346
* center was empty, as above.
23472347
*/
2348-
if (parent->last == node)
2348+
if (parent && parent->last == node)
23492349
{
23502350
list = TY_(InferredTag)(doc, TidyTag_DL);
23512351
TY_(InsertNodeAfterElement)(node, list);
@@ -4225,14 +4225,14 @@ void* TY_(oldParseFrameSet)(TidyDocImpl* doc, Node *frameset, GetTokenMode ARG_U
42254225
TY_(Report)(doc, frameset, node, INSERTING_TAG);
42264226
}
42274227

4228-
if (node->type == StartTag && (node->tag->model & CM_FRAMES))
4228+
if (node->type == StartTag && (node->tag && node->tag->model & CM_FRAMES))
42294229
{
42304230
TY_(InsertNodeAtEnd)(frameset, node);
42314231
lexer->excludeBlocks = no;
42324232
ParseTag(doc, node, MixedContent);
42334233
continue;
42344234
}
4235-
else if (node->type == StartEndTag && (node->tag->model & CM_FRAMES))
4235+
else if (node->type == StartEndTag && (node->tag && node->tag->model & CM_FRAMES))
42364236
{
42374237
TY_(InsertNodeAtEnd)(frameset, node);
42384238
continue;
@@ -4345,7 +4345,7 @@ Node* TY_(ParseHTML)( TidyDocImpl *doc, Node *html, GetTokenMode mode, Bool popS
43454345
}
43464346

43474347
/* We did not expect to find an html closing tag here! */
4348-
if (node->tag == html->tag && node->type == EndTag)
4348+
if (html && (node->tag == html->tag) && (node->type == EndTag))
43494349
{
43504350
TY_(Report)(doc, html, node, DISCARDING_UNEXPECTED);
43514351
TY_(FreeNode)( doc, node);
@@ -5382,7 +5382,8 @@ Node* TY_(ParseNamespace)( TidyDocImpl* doc, Node *basenode, GetTokenMode mode,
53825382
if (outside == no)
53835383
{
53845384
/* EndTag for a node within the basenode subtree. Roll on... */
5385-
n->closed = yes;
5385+
if (n)
5386+
n->closed = yes;
53865387
TY_(FreeNode)(doc, node);
53875388

53885389
node = n;

src/pprint.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,8 +1190,6 @@ static void PPrintAttribute( TidyDocImpl* doc, uint indent,
11901190
indent += xtra;
11911191
PCondFlushLineSmart( doc, indent );
11921192
}
1193-
else
1194-
indAttrs = no;
11951193
}
11961194

11971195
CheckWrapIndent( doc, indent );

src/streamio.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,6 @@ void TY_(WriteChar)( uint c, StreamOut* out )
590590
if ( !TY_(IsValidUTF16FromUCS4)(c) )
591591
{
592592
/* invalid UTF-16 value */
593-
c = 0;
594593
numChars = 0;
595594
}
596595
else if ( TY_(IsCombinedChar)(c) )
@@ -599,7 +598,6 @@ void TY_(WriteChar)( uint c, StreamOut* out )
599598
numChars = 2;
600599
if ( !TY_(SplitSurrogatePair)(c, &theChars[0], &theChars[1]) )
601600
{
602-
c = 0;
603601
numChars = 0;
604602
}
605603
}

0 commit comments

Comments
 (0)