Index: /issm/trunk/src/c/io/Matlab/OptionParse.cpp
===================================================================
--- /issm/trunk/src/c/io/Matlab/OptionParse.cpp	(revision 9335)
+++ /issm/trunk/src/c/io/Matlab/OptionParse.cpp	(revision 9336)
@@ -23,5 +23,5 @@
 	odouble=new OptionDouble;
 	odouble->name =(char *) xmalloc((strlen(name)+1)*sizeof(char));
-	strcpy(odouble->name,name);
+	memcpy(odouble->name,name,(strlen(name)+1)*sizeof(char));
 
 	/*check and parse the value  */
@@ -42,5 +42,5 @@
 	ological=new OptionLogical;
 	ological->name =(char *) xmalloc((strlen(name)+1)*sizeof(char));
-	strcpy(ological->name,name);
+	memcpy(ological->name,name,(strlen(name)+1)*sizeof(char));
 
 	/*check and parse the value  */
@@ -61,5 +61,5 @@
 	ochar=new OptionChar;
 	ochar->name =(char *) xmalloc((strlen(name)+1)*sizeof(char));
-	strcpy(ochar->name,name);
+	memcpy(ochar->name,name,(strlen(name)+1)*sizeof(char));
 
 	/*check and parse the value  */
@@ -86,5 +86,5 @@
 	ostruct=new OptionStruct;
 	ostruct->name =(char*)xmalloc((strlen(name)+1)*sizeof(char));
-	strcpy(ostruct->name,name);
+	memcpy(ostruct->name,name,(strlen(name)+1)*sizeof(char));
 
 	/*check and parse the value  */
@@ -133,5 +133,5 @@
 	ocell=new OptionCell;
 	ocell->name =(char *) xmalloc((strlen(name)+1)*sizeof(char));
-	strcpy(ocell->name,name);
+	memcpy(ocell->name,name,(strlen(name)+1)*sizeof(char));
 
 	/*check and parse the value  */
@@ -152,5 +152,5 @@
 		ColumnWiseDimsFromIndex(dims,(int)cindex,ocell->size,ocell->ndims);
 		StringFromDims(cstr,dims,ocell->ndims);
-		sprintf(namei,161,"%s%s",name,cstr);
+		snprintf(namei,161,"%s%s",name,cstr);
 		celli=mxGetCell(prhs[0],cindex);
 
Index: /issm/trunk/src/c/modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp	(revision 9335)
+++ /issm/trunk/src/c/modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp	(revision 9336)
@@ -42,5 +42,7 @@
 			 * distributed_values with the next qmu_npart variables: */
 			
-			strcpy(root,strstr(descriptor,"_")+1); *strstr(root,"_")='\0';
+			memcpy(root,strstr(descriptor,"_")+1,(strlen(strstr(descriptor,"_")+1)+1)*sizeof(char));
+			*strstr(root,"_")='\0';
+
 
 			distributed_values=(double*)xmalloc(qmu_npart*sizeof(double));
Index: /issm/trunk/src/c/modules/ParsePetscOptionsx/ParsePetscOptionsx.cpp
===================================================================
--- /issm/trunk/src/c/modules/ParsePetscOptionsx/ParsePetscOptionsx.cpp	(revision 9335)
+++ /issm/trunk/src/c/modules/ParsePetscOptionsx/ParsePetscOptionsx.cpp	(revision 9336)
@@ -68,13 +68,18 @@
 			to the already existing options*/
 				if(strings[numanalyses-1]==NULL){
-					string=(char*)xmalloc((strlen(line)+1)*sizeof(char)); strcpy(string,line);
+					string=(char*)xmalloc((strlen(line)+1)*sizeof(char)); 
+					memcpy(string,line,(strlen(line)+1)*sizeof(char));
+
 					strings[numanalyses-1]=string;
 				}
 				else{
 					string=strings[numanalyses-1];
-					newstring=(char*)xmalloc((strlen(line)+1)*sizeof(char)); strcpy(newstring,line);
+					newstring=(char*)xmalloc((strlen(line)+1)*sizeof(char));
+					memcpy(newstring,line,(strlen(line)+1)*sizeof(char));
+
 					/*concatenate:*/
 					catstring=(char*)xmalloc((strlen(string)+1+strlen(newstring)+1+1)*sizeof(char)); //fit in a space " "
-					strcpy(catstring,string);
+					memcpy(catstring,string,(strlen(string)+1)*sizeof(char));
+
 					strcat(catstring," ");
 					strcat(catstring,newstring);
Index: /issm/trunk/src/c/objects/DakotaPlugin.cpp
===================================================================
--- /issm/trunk/src/c/objects/DakotaPlugin.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/DakotaPlugin.cpp	(revision 9336)
@@ -78,5 +78,6 @@
 		string label=xCLabels[i];
 		variable_descriptor=(char*)xmalloc((strlen(label.c_str())+1)*sizeof(char));
-		strcpy(variable_descriptor,label.c_str());
+		memcpy(variable_descriptors,label.c_str(),(strlen(label.c_str())+1)*sizeof(char));
+
 		
 		variable_descriptors[i]=variable_descriptor;
Index: /issm/trunk/src/c/objects/ExternalResults/StringExternalResult.cpp
===================================================================
--- /issm/trunk/src/c/objects/ExternalResults/StringExternalResult.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/ExternalResults/StringExternalResult.cpp	(revision 9336)
@@ -32,5 +32,6 @@
 	enum_type=in_enum_type;
 	value=(char*)xmalloc((strlen(in_value)+1)*sizeof(char));
-	strcpy(value,in_value);
+	memcpy(value,in_value,(strlen(in_value)+1)*sizeof(char));
+
 	step=in_step;
 	time=in_time;
Index: /issm/trunk/src/c/objects/KML/KMLFileReadUtils.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KMLFileReadUtils.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KMLFileReadUtils.cpp	(revision 9336)
@@ -142,5 +142,6 @@
 
 	ktagi=(char *) xmalloc((strlen(ktag)+1)*sizeof(char));
-	strcpy(ktagi,ktag);
+	memcpy(ktagi,ktag,(strlen(ktag)+1)*sizeof(char));
+
 
 /*  loop through tag to find all attributes  */
@@ -260,5 +261,6 @@
 	}
 	else
-		strcpy(pstr,kstr);
+		memcpy(pstr,kstr,(strlen(kstr)+1)*sizeof(char));
+
 	xfree((void**)&kstr);
 
Index: /issm/trunk/src/c/objects/KML/KML_Attribute.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_Attribute.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_Attribute.cpp	(revision 9336)
@@ -105,8 +105,8 @@
 
 	name =(char *) xmalloc((strlen(namei )+1)*sizeof(char));
-	strcpy(name      ,namei);
+	memcpy(name,namei,(strlen(namei)+1)*sizeof(char));
 
 	value=(char *) xmalloc((strlen(valuei)+1)*sizeof(char));
-	strcpy(value     ,valuei);
+	memcpy(value,valuei,(strlen(valuei)+1)*sizeof(char));
 
 	return;
@@ -128,9 +128,9 @@
 	if (!value || !strlen(value)) {
 		*pvalueo=(char *) xmalloc((strlen(deflt)+1)*sizeof(char));
-		strcpy(*pvalueo,deflt);
+		memcpy(*pvalueo,deflt,(strlen(deflt)+1)*sizeof(char));
 	}
 	else {
 		*pvalueo=(char *) xmalloc((strlen(value)+1)*sizeof(char));
-		strcpy(*pvalueo,value);
+		memcpy(*pvalueo,value,(strlen(value)+1)*sizeof(char));
 	}
 
Index: /issm/trunk/src/c/objects/KML/KML_Container.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_Container.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_Container.cpp	(revision 9336)
@@ -74,5 +74,6 @@
 /*  loop over the features for the container  */
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
@@ -100,5 +101,6 @@
 /*  loop over the features for the container  */
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/KML/KML_Feature.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_Feature.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_Feature.cpp	(revision 9336)
@@ -23,10 +23,11 @@
 KML_Feature::KML_Feature(){
 
-	strcpy(name      ,"");
+	memcpy(name,"",(strlen("")+1)*sizeof(char));
+
 	visibility=true;
 	open      =false;
-	strcpy(snippet   ,"");
-	strcpy(descript  ,"");
-	strcpy(styleurl  ,"");
+	memcpy(snippet,"",(strlen("")+1)*sizeof(char));
+	memcpy(descript,"",(strlen("")+1)*sizeof(char));
+	memcpy(styleurl,"",(strlen("")+1)*sizeof(char));
 	style     =new DataSet;
 
@@ -93,5 +94,6 @@
 /*  loop over any styles for the feature  */
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
@@ -130,5 +132,6 @@
 /*  loop over any styles for the feature  */
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/KML/KML_File.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_File.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_File.cpp	(revision 9336)
@@ -76,5 +76,6 @@
 /*  loop over the kml objects for the file  */
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
@@ -106,5 +107,6 @@
 /*  loop over the kml objects for the file  */
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/KML/KML_GroundOverlay.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_GroundOverlay.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_GroundOverlay.cpp	(revision 9336)
@@ -24,5 +24,6 @@
 
 	altitude  = 0.;
-	strcpy(altmode   ,"clampToGround");
+	memcpy(altmode,"clampToGround",(strlen("clampToGround")+1)*sizeof(char));
+
 	llbox     =NULL;
 
@@ -77,5 +78,6 @@
 	KML_Overlay::DeepEcho(indent);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
@@ -102,5 +104,6 @@
 	KML_Overlay::Write(filout,indent);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/KML/KML_LineString.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_LineString.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_LineString.cpp	(revision 9336)
@@ -26,5 +26,6 @@
 	extrude   =false;
 	tessellate=false;
-	strcpy(altmode   ,"clampToGround");
+	memcpy(altmode,"clampToGround",(strlen(altmode)+1)*sizeof(char));
+
 	ncoord    =0;
 	coords    =NULL;
@@ -195,5 +196,6 @@
 /*  write header  */
 
-	strcpy(nstr2,nstr);
+	memcpy(nstr2,nstr,(strlen(nstr)+1)*sizeof(char));
+
 	for (i=0; i<strlen(nstr2); i++)
 		if ((nstr2[i] == ' ') || (nstr2[i] == '\t'))
Index: /issm/trunk/src/c/objects/KML/KML_LinearRing.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_LinearRing.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_LinearRing.cpp	(revision 9336)
@@ -26,5 +26,6 @@
 	extrude   =false;
 	tessellate=false;
-	strcpy(altmode   ,"clampToGround");
+	memcpy(altmode,"clampToGround",(strlen("clampToGround")+1)*sizeof(char));
+
 	ncoord    =0;
 	coords    =NULL;
@@ -195,5 +196,6 @@
 /*  write header  */
 
-	strcpy(nstr2,nstr);
+	memcpy(nstr2,nstr,(strlen(nstr)+1)*sizeof(char));
+
 	for (i=0; i<strlen(nstr2); i++)
 		if ((nstr2[i] == ' ') || (nstr2[i] == '\t'))
Index: /issm/trunk/src/c/objects/KML/KML_MultiGeometry.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_MultiGeometry.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_MultiGeometry.cpp	(revision 9336)
@@ -76,5 +76,6 @@
 /*  loop over the geometry elements for the multigeometry  */
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
@@ -106,5 +107,6 @@
 /*  loop over the geometry elements for the multigeometry  */
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/KML/KML_Object.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_Object.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_Object.cpp	(revision 9336)
@@ -156,5 +156,6 @@
 	else {
 		*pvalue=(char *) xmalloc((strlen(deflt)+1)*sizeof(char));
-		strcpy(*pvalue,deflt);
+		memcpy(*pvalue,deflt,(strlen(deflt)+1)*sizeof(char));
+
 	}
 
Index: /issm/trunk/src/c/objects/KML/KML_Overlay.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_Overlay.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_Overlay.cpp	(revision 9336)
@@ -24,4 +24,6 @@
 
 	strcpy(color     ,"ffffffff");
+	memcpy(color,"ffffffff",(strlen("ffffffff")+1)*sizeof(char));
+
 	draword   = 0;
 	icon      =NULL;
@@ -75,5 +77,6 @@
 	KML_Feature::DeepEcho(indent);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
@@ -96,5 +99,6 @@
 	KML_Feature::Write(filout,indent);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/KML/KML_Placemark.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_Placemark.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_Placemark.cpp	(revision 9336)
@@ -76,5 +76,6 @@
 /*  loop over the geometry elements for the placemark  */
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
@@ -106,5 +107,6 @@
 /*  loop over the geometry elements for the placemark  */
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/KML/KML_Polygon.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_Polygon.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_Polygon.cpp	(revision 9336)
@@ -25,5 +25,6 @@
 	extrude   =false;
 	tessellate=false;
-	strcpy(altmode   ,"clampToGround");
+	memcpy(altmode,"clampToGround",(strlen("clampToGround")+1)*sizeof(char));
+
 	outer     =new DataSet;
 	inner     =new DataSet;
@@ -91,5 +92,6 @@
 	_printf_(flag,"%s       altmode: \"%s\"\n"      ,indent,altmode);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
@@ -132,5 +134,6 @@
 	fprintf(filout,"%s  <altitudeMode>%s</altitudeMode>\n",indent,altmode);
 
-	strcpy(indent4,indent);
+	memcpy(indent4,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent4,"    ");
 
Index: /issm/trunk/src/c/objects/KML/KML_Style.cpp
===================================================================
--- /issm/trunk/src/c/objects/KML/KML_Style.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/KML/KML_Style.cpp	(revision 9336)
@@ -107,5 +107,6 @@
 	KML_StyleSelector::DeepEcho(indent);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
@@ -150,5 +151,6 @@
 	KML_StyleSelector::Write(filout,indent);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
+
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/Loads/Friction.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Friction.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/Loads/Friction.cpp	(revision 9336)
@@ -34,5 +34,6 @@
 	this->inputs=inputs_in;
 	this->element_type=(char*)xmalloc((strlen(element_type_in)+1)*sizeof(char));
-	strcpy(this->element_type,element_type_in);
+	memcpy(this->element_type,element_type_in,(strlen(element_type_in)+1)*sizeof(char));
+
 	this->matpar=matpar_in;
 
Index: /issm/trunk/src/c/objects/Options/OptionCell.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionCell.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/Options/OptionCell.cpp	(revision 9336)
@@ -77,5 +77,5 @@
 	Option::DeepEcho(indent);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/Options/OptionChar.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionChar.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/Options/OptionChar.cpp	(revision 9336)
@@ -81,5 +81,5 @@
 	Option::DeepEcho(indent);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/Options/OptionDouble.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionDouble.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/Options/OptionDouble.cpp	(revision 9336)
@@ -77,5 +77,5 @@
 	Option::DeepEcho(indent);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/Options/OptionLogical.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionLogical.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/Options/OptionLogical.cpp	(revision 9336)
@@ -77,5 +77,5 @@
 	Option::DeepEcho(indent);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/Options/OptionStruct.cpp
===================================================================
--- /issm/trunk/src/c/objects/Options/OptionStruct.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/Options/OptionStruct.cpp	(revision 9336)
@@ -82,5 +82,5 @@
 	Option::DeepEcho(indent);
 
-	strcpy(indent2,indent);
+	memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char));
 	strcat(indent2,"  ");
 
Index: /issm/trunk/src/c/objects/Params/StringParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/StringParam.cpp	(revision 9335)
+++ /issm/trunk/src/c/objects/Params/StringParam.cpp	(revision 9336)
@@ -31,5 +31,6 @@
 	enum_type=in_enum_type;
 	value=(char*)xmalloc((strlen(in_value)+1)*sizeof(char));
-	strcpy(value,in_value);
+	memcpy(value,in_value,(strlen(in_value)+1)*sizeof(char));
+
 	
 }
Index: /issm/trunk/src/c/shared/String/DescriptorIndex.cpp
===================================================================
--- /issm/trunk/src/c/shared/String/DescriptorIndex.cpp	(revision 9335)
+++ /issm/trunk/src/c/shared/String/DescriptorIndex.cpp	(revision 9336)
@@ -29,5 +29,6 @@
 		pch = strtok (NULL, "_");
 		if(!pch)_error_("%s%s%s"," scaled descriptor ",descriptor," is not correctly formatted!");
-		strcpy(root,pch);
+		memcpy(root,pch,(strlen(pch)+1)*sizeof(char));
+
 		/*now recover  the index if it exists: */
 		pch = strtok (NULL, "_");
@@ -44,5 +45,5 @@
 		pch = strtok (NULL, "_");
 		if(!pch)_error_("%s%s%s"," indexed descriptor ",descriptor," is not correctly formatted!");
-		strcpy(root,pch);
+		memcpy(root,pch,(strlen(pch)+1)*sizeof(char));
 		/*now recover  the index: */
 		pch = strtok (NULL, "_");
@@ -55,5 +56,5 @@
 		pch = strtok (NULL, "_");
 		if(!pch)_error_("%s%s%s"," nodal descriptor ",descriptor," is not correctly formatted!");
-		strcpy(root,pch);
+		memcpy(root,pch,(strlen(pch)+1)*sizeof(char));
 		/*now recover  the index: */
 		pch = strtok (NULL, "_");
@@ -64,5 +65,5 @@
 	else{
 		/*We don't have _ in the name, this is a regular variable: */
-		strcpy(root,pch);
+		memcpy(root,pch,(strlen(pch)+1)*sizeof(char));
 		*pindex=-1;
 		return RegularEnum;
