← Back to team overview

kicad-developers team mailing list archive

Re: Coverity heads-up

 

On 1/12/20 10:36 AM, Jon Evans wrote:
> It's worth mentioning that I'm getting rid of PARAM_CFG_ARRAY in my new
> settings branch (should be done before FOSDEM)

Sounds like this solves half of the problem.

> 
> On Sun, Jan 12, 2020 at 10:31 AM Jeff Young <jeff@xxxxxxxxx
> <mailto:jeff@xxxxxxxxx>> wrote:
> 
>     Hi Wayne,
> 
>     The main one that permeates the code is CONFIG_PARAM_ARRAY.  It
>     doesn't use any of the boost::ptr_array fancy stuff.
> 
>     We don’t currently catch /any/ of the exceptions thrown by boost for
>     this data structure, so that part is unchanged.  What does change is
>     the signal-to-noise ratio out of Coverity.
> 
>     I was also going to do SCH_SHEET_PINS, which is the same, but has
>     much less widespread use.

I'm fine with this as long as we take care to not create any memory
leaks and we deal with out of memory errors in a reasonable fashion.

> 
>     Cheers,
>     Jeff.
> 
> 
>     > On 12 Jan 2020, at 13:21, Wayne Stambaugh <stambaughw@xxxxxxxxx
>     <mailto:stambaughw@xxxxxxxxx>> wrote:
>     >
>     > Hi Jeff,
>     >
>     > We should probably discuss this a bit before you spend any time on it.
>     > The boost pointer containers do a lot of housekeeping under the hood
>     > that the standard c++ containers do not.  This means that all of the
>     > object cloning behavior automatically handled by the boost pointer
>     > containers will have to be duplicated.  How do plan on handling out of
>     > memory errors which I believe is the only exception that boost pointer
>     > containers throw?  Ignoring out of memory errors is not an acceptable
>     > option.  These issues will need to be address in order to convert over
>     > to the standard c++ containers.
>     >
>     > Cheers,
>     >
>     > Wayne
>     >
>     > On 1/12/20 7:34 AM, Jeff Young wrote:
>     >> I’ve given up chasing down all the places where we fail to catch
>     boost exceptions.
>     >>
>     >> I’m removing boost::ptr_vector<T> in favour of std::vector<T*>
>     (which boost uses under the hood anyway).
>     >> _______________________________________________
>     >> Mailing list: https://launchpad.net/~kicad-developers
>     >> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>     >> Unsubscribe : https://launchpad.net/~kicad-developers
>     >> More help   : https://help.launchpad.net/ListHelp
>     >>
>     >
>     > _______________________________________________
>     > Mailing list: https://launchpad.net/~kicad-developers
>     > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>     > Unsubscribe : https://launchpad.net/~kicad-developers
>     > More help   : https://help.launchpad.net/ListHelp
> 
> 
>     _______________________________________________
>     Mailing list: https://launchpad.net/~kicad-developers
>     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>     Unsubscribe : https://launchpad.net/~kicad-developers
>     More help   : https://help.launchpad.net/ListHelp
> 


References