FYI: This was simple enough that I made the change myself:
http://svn.apache.org/viewvc?rev=639452&view=rev
Martin
Martin Sebor wrote:
Scott Zhong wrote:
Martin, would you suggest that there should be a check after malloc and
throw bad_alloc?
I think we should just use the new expression instead of calling
malloc. That way we don't need to check. Unless we call malloc()
in the rest of the program for some reason.
Martin
-----Original Message-----
From: Martin Sebor [mailto:[EMAIL PROTECTED] On Behalf Of Martin Sebor
Sent: Thursday, March 20, 2008 12:02 PM
To: [email protected]
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.