diff --git a/src/sbbs3/chat.cpp b/src/sbbs3/chat.cpp
index 96b20fd13ccaf6d0074d89171a508d7ca16f4b92..b6fd312e18c345030aa960b318fc66c45ad31d53 100644
--- a/src/sbbs3/chat.cpp
+++ b/src/sbbs3/chat.cpp
@@ -1653,7 +1653,7 @@ bool sbbs_t::guruexp(char **ptrptr, char *line)
 	while((**ptrptr)!=')' && (**ptrptr)) {
 		if((**ptrptr)=='[') {
 			(*ptrptr)++;
-			sprintf(str,"%.128s",*ptrptr);
+			SAFECOPY(str,*ptrptr);
 			while(**ptrptr && (**ptrptr)!=']')
 				(*ptrptr)++;
 			(*ptrptr)++;
diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c
index ddc4b307f5c9f8a64fbe9b848400f1027cae47a3..bc1437c2b0715f54e6dd99d53bcd0a82a52f3353 100644
--- a/src/sbbs3/sbbsecho.c
+++ b/src/sbbs3/sbbsecho.c
@@ -3773,7 +3773,7 @@ int main(int argc, char **argv)
 	char	packet[MAX_PATH+1];
 	char	ch,str[1025],fname[256],path[512],sub_code[9]
 			,*p,*tp
-			,areatagstr[129],outbound[128]
+			,areatagstr[128],outbound[128]
 			,password[16];
 	uchar	HUGE16 *fmsgbuf=NULL;
 	ushort	attr;
@@ -4333,7 +4333,7 @@ int main(int argc, char **argv)
 			p+=5;								/* Skip "AREA:" */
 			while(*p && *p<=SP) p++;			/* Skip any white space */
 			printf("%21s: ",p);                 /* Show areaname: */
-			sprintf(areatagstr,"%.128s",p);
+			SAFECOPY(areatagstr,p);
 			strupr(p);
 			areatag=crc32(p,0);