You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by cb...@apache.org on 2005/03/01 00:21:39 UTC

cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal BeanParamWriter.java

cblecken    2005/02/28 15:21:39

  Modified:    c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal
                        BeanParamWriter.java
  Log:
  Fix for AXISCPP-480. Do an explicit NULL check before a simple type is assigned
  to prevent access violations. Doing this in the stub seems the least risky
  way right now.
  
  PR: AXISCPP-480
  Submitted by: cblecken
  Reviewed by: S.Cherukuri
  
  Revision  Changes    Path
  1.54      +3 -1      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
  
  Index: BeanParamWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- BeanParamWriter.java	22 Feb 2005 17:48:57 -0000	1.53
  +++ BeanParamWriter.java	28 Feb 2005 23:21:39 -0000	1.54
  @@ -396,7 +396,9 @@
   				}
   				else
   				{
  -					writer.write("\tparam->"+attribs[i].getParamNameAsMember()+" = *(pIWSDZ->"+CUtils.getParameterGetValueMethodName(attribs[i].getTypeName(), attribs[i].isAttribute())+"( \""+ soapTagName +"\",0));\n");
  +					writer.write("\t" + attribs[i].getTypeName() + " * " + attribs[i].getParamNameAsMember()+ " = NULL;\n");
  +					writer.write("\tif ((" + attribs[i].getParamNameAsMember()+ " = pIWSDZ->"+CUtils.getParameterGetValueMethodName(attribs[i].getTypeName(), attribs[i].isAttribute())+"( \""+ soapTagName +"\",0)) != NULL)\n");
  +					writer.write("\t\tparam->"+attribs[i].getParamNameAsMember()+" = *( " + attribs[i].getParamNameAsMember()+" );\n");
   				}
   			}
   			else