incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: svn commit: r650698 - /stdcxx/branches/4.2.x/tests/src/cmdopt.cpp
Date Thu, 24 Apr 2008 06:03:44 GMT
Eric Lemings wrote:
>  
> Rather than having malloc() function calls scattered throughout the test
> driver, I was wondering if a conventional malloc() wrapper wouldn't take
> care of a lot of this error checking and null pointer dereference
> warnings.  A conventional Unix malloc() wrapper checks the return value
> and just prints a diagnostic and exits the program if it is null.

I think it would make sense. We already do something like this in
other areas of the driver (and/or the exec utility) to simplify
error handling.

Martin

> 
> Brad.
> 
>> -----Original Message-----
>> From: sebor@apache.org [mailto:sebor@apache.org] 
>> Sent: Tuesday, April 22, 2008 5:39 PM
>> To: commits@stdcxx.apache.org
>> Subject: svn commit: r650698 - 
>> /stdcxx/branches/4.2.x/tests/src/cmdopt.cpp
>>
>> Author: sebor
>> Date: Tue Apr 22 16:38:40 2008
>> New Revision: 650698
>>
>> URL: http://svn.apache.org/viewvc?rev=650698&view=rev
>> Log:
>> 2008-04-22  Martin Sebor  <sebor@roguewave.com>
>>
>> 	STDCXX-754
>> 	* tests/src/cmdopt.cpp (rw_vsetopts): Handled malloc() failure.
>> 	Added an assertion to silence a bogus HP aCC 6/cadvise warning
>> 	#20200-D: Potential null pointer dereference. Unfortunately,
>> 	with the one gone another bogus one pops up...
>>
>> Modified:
>>     stdcxx/branches/4.2.x/tests/src/cmdopt.cpp
>>
>> Modified: stdcxx/branches/4.2.x/tests/src/cmdopt.cpp
>> URL: 
>> http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/tests/src/c
>> mdopt.cpp?rev=650698&r1=650697&r2=650698&view=diff
>> ==============================================================
>> ================
>> --- stdcxx/branches/4.2.x/tests/src/cmdopt.cpp (original)
>> +++ stdcxx/branches/4.2.x/tests/src/cmdopt.cpp Tue Apr 22 
>> 16:38:40 2008
>> @@ -20,7 +20,7 @@
>>   * implied.   See  the License  for  the  specific language  
>> governing
>>   * permissions and limitations under the License.
>>   *
>> - * Copyright 2005-2006 Rogue Wave Software.
>> + * Copyright 2005-2008 Rogue Wave Software, Inc.
>>   * 
>>   
>> **************************************************************
>> ************/
>>  
>> @@ -518,6 +518,8 @@
>>                  lopt = lastopt->loptbuf_;
>>              else {
>>                  lopt = (char*)malloc (optlen + 1);
>> +                if (0 == lopt)
>> +                    return -1;   // error
>>                  lastopt->lopt_ = lopt;
>>              }
>>  
>> @@ -533,6 +535,8 @@
>>          lastopt->maxcount_ = 1;
>>  
>>          int arg_is_callback = true;
>> +
>> +        RW_ASSERT (0 != next);
>>  
>>          if ('#' == *next) {
>>              // examples of option specification:
>>
>>
>>


Mime
View raw message