← Back to team overview

kicad-developers team mailing list archive

Coverity finds an ugly bug in wxWidgets

 

This looks safe enough:

if( n_changed )
    wxLogTrace( "CN", "Cluster %p : net : %d %s\n", cluster.get(),
            cluster->OriginNet(), (const char*) cluster->OriginNetName().c_str() );
else
    wxLogTrace( "CN", "Cluster %p : nothing to propagate\n", cluster.get() );

Sadly, the macro wxLogTrace is not parenthesized, and starts with an if statement.  So the else doesn’t go where you think it does….

Any ideas on how to fix this that don’t include constantly checking to see if new instances have been introduced?

Follow ups