diff --git a/MantidPlot/src/zlib123/minigzip.c b/MantidPlot/src/zlib123/minigzip.c
index 6f12762c8ecedb7a71ddf33c3f7f848178ba3075..5263508908db17952ab8df54cbd0d1bfc0575657 100644
--- a/MantidPlot/src/zlib123/minigzip.c
+++ b/MantidPlot/src/zlib123/minigzip.c
@@ -209,8 +209,9 @@ void file_compress(file, mode)
     FILE  *in;
     gzFile out;
 
-    strcpy(outfile, file);
-    strcat(outfile, GZ_SUFFIX);
+    strncpy(outfile, file, MAX_NAME_LEN-1);
+    outfile[MAX_NAME_LEN-1] = '\0';
+    strncat(outfile, GZ_SUFFIX, MAX_NAME_LEN - strlen(outfile) - 1);
 
     in = fopen(file, "rb");
     if (in == NULL) {