[Bf-committers] Re: Klocwork source analysis
Martin Poirier
theeth at yahoo.com
Sun Dec 3 19:10:40 CET 2006
--- Stephen Swaney <sswaney at centurytel.net> wrote:
> On Sun, Dec 03, 2006 at 05:12:05PM +0100, GSR wrote:
> > Hi,
> > blender at instinctive.de (2006-12-03 at 1542.56
> +0100):
> > > So, as discussed many times on the list, it's
> the old question: Check EACH
> > > AND EVERY call to malloc and act accordingly, or
> check NONE ;)
> >
> > If by never, you mean at the high level, I think
> correct. But the mem
> > functions do check and take different measures (in
> case of problems
> > you get the console warning), so that is the
> probable reason Klocwork
> > system did not complain. It is an app, not an
> human that will realize
> > the issue is still there, just masked. To check if
> that is the reason,
> > do a BPY wrapper like MEM_callocN (check pointer
> and return it or
> > return 0).
>
> Just to be clear as to what we are talking about
> here:
>
> the discussion is about checking the return value
> from
> PyObject_New(), a high level function that allocates
> and
> initializes a python object.
>
> If there is a problem, a python exception is set and
> a null
> ptr is returned. At this point, the programmer can
> simply
> propagate the exception or take whatever additional
> action is
> needed.
>
> My personal preference is that blindly dereferencing
> that
> null ptr *not* be part of the additional action.
Absolutely agreed, in that case, the python error
should just be propagated to the caller by returning
NULL.
Martin
____________________________________________________________________________________
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com
More information about the Bf-committers
mailing list