diff --git a/MAC/APL/PAC/ITRFBeamServer/src/StatCal.cc b/MAC/APL/PAC/ITRFBeamServer/src/StatCal.cc
index 0f900b892e83676b625d48225a7dfcb0c2cd2e0c..aa755f15e405adc3db100e1f2a9cffa4da9b235f 100644
--- a/MAC/APL/PAC/ITRFBeamServer/src/StatCal.cc
+++ b/MAC/APL/PAC/ITRFBeamServer/src/StatCal.cc
@@ -62,7 +62,7 @@ void StatCal::_readData(uint mode)
 {
 	ConfigLocator	CL;
 	char			baseName[256];
-    sprintf(baseName, "CalTable_mode%d.dat", mode);
+    snprintf(baseName, sizeof baseName, "CalTable_mode%d.dat", mode);
 	itsFileName = CL.locate(baseName);
 
     complex<double> value;
diff --git a/MAC/APL/PIC/TBB_Driver/src/TBBDriver.cc b/MAC/APL/PIC/TBB_Driver/src/TBBDriver.cc
index 3d0f1337685c677afaaf7b13f6fc858dcdc79041..5e6c88401bcf2f6f53b27d3a7c83d67a49bca842 100644
--- a/MAC/APL/PIC/TBB_Driver/src/TBBDriver.cc
+++ b/MAC/APL/PIC/TBB_Driver/src/TBBDriver.cc
@@ -1063,13 +1063,14 @@ bool TBBDriver::CheckAlive(GCFEvent& event, GCFPortInterface& port)
 
 				char boardstr[40];
 				char instr[5];
-				strcpy(boardstr,"");
+                                boardstr[0] = 0;
 				for (int i = 0; i < TS->maxBoards(); i++) {
+                                        size_t chleft = sizeof boardstr - strlen(boardstr) - 1;
 					if (activeboards & (1 << i)) {
-						sprintf(instr," %d",i);
-						strcat(boardstr,instr);
+						snprintf(instr,sizeof instr," %d",i);
+						strncat(boardstr,instr,chleft);
 					} else {
-						strcat(boardstr," .");
+						strncat(boardstr," .",chleft);
 					}
 				}
 				itsMsgHandler->sendBoardChange(TS->activeBoardsMask());
diff --git a/MAC/APL/PIC/TBB_Driver/src/WritefCmd.cc b/MAC/APL/PIC/TBB_Driver/src/WritefCmd.cc
index 013233e33fe4ac516fc0f1b2fd5649bd2a9d00e3..870f25aea2ca839eeeb27cdfb4773bfe523778fd 100644
--- a/MAC/APL/PIC/TBB_Driver/src/WritefCmd.cc
+++ b/MAC/APL/PIC/TBB_Driver/src/WritefCmd.cc
@@ -78,8 +78,8 @@ void WritefCmd::saveTbbEvent(GCFEvent& event)
 	setBoard(tbb_event.board);
 	
 	// copy filename
-	memcpy(itsFileNameTp,tbb_event.filename_tp,sizeof(char) * 64);
-	memcpy(itsFileNameMp,tbb_event.filename_mp,sizeof(char) * 64);
+	memcpy(itsFileNameTp,tbb_event.filename_tp,64);
+	memcpy(itsFileNameMp,tbb_event.filename_mp,64);
 	
 	LOG_DEBUG_STR(formatString("TP file: %s",itsFileNameTp));
 	LOG_DEBUG_STR(formatString("MP file: %s",itsFileNameMp));
@@ -97,7 +97,7 @@ void WritefCmd::saveTbbEvent(GCFEvent& event)
 				
 	// print write date and used TP and MP filename
 	char info[256];
-	memset(info,0,256);
+	memset(info,0,sizeof info);
 				
 	char *tp_name = strrchr(itsFileNameTp,'/');
 	if (tp_name == 0) {
@@ -113,7 +113,7 @@ void WritefCmd::saveTbbEvent(GCFEvent& event)
 		mp_name += 1;
 	}
 				
-	sprintf(info," %s %s ",tp_name,mp_name);
+	snprintf(info,sizeof info," %s %s ",tp_name,mp_name);
 	LOG_DEBUG_STR(formatString("ImageInfo: %s",info));
 	
 	int addr = (TS->flashBlocksInImage() - 1) * TS->flashBlockSize();