incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Zhong" <Scott.Zh...@roguewave.com>
Subject RE: [TESTCASE] STDCXX-750 [HP aCC 6.16] Potential null pointer dereference in aliases.cpp
Date Thu, 20 Mar 2008 18:29:10 GMT
Martin, would you suggest that there should be a check after malloc and
throw bad_alloc?

> -----Original Message-----
> From: Martin Sebor [mailto:msebor@gmail.com] On Behalf Of Martin Sebor
> Sent: Thursday, March 20, 2008 12:02 PM
> To: dev@stdcxx.apache.org
> Subject: Re: [TESTCASE] STDCXX-750 [HP aCC 6.16] Potential null
pointer
> dereference in aliases.cpp
> 
> I was going to say this is the same bug as STDCXX-764:
>    http://issues.apache.org/jira/browse/STDCXX-764
> but after looking at it more closely I believe the compiler
> is correct in this case because malloc() returns 0 when it
> fails to allocate memory. The warning could be clearer about
> it.
> 
> Martin
> 
> Scott Zhong wrote:
> > cat /build/scottz/t2.cpp && aCC -V && aCC -c  +w
/build/scottz/t2.cpp
> > #include <cstdlib>
> >
> > int main()
> > {
> >   static char * test = 0;
> >   if (!test) {
> >      test = (char *)std::malloc (12345);
> >      *test = '\0';
> >   }
> >
> >   return 0;
> > }
> > aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> > "/build/scottz/t2.cpp", line 8, procedure main: warning #20200-D:
> > Potential
> >           null pointer dereference through test is detected (null
> >           definition:/build/scottz/t2.cpp, line 7)
> >
> > this test case shows that the warning is bogus because the pointer
> > "test" is pointing to a valid location in memory after std::malloc
is
> > performed.
> >


Mime
View raw message