--- gnu-ghostscript-9.14.1/base/mkromfs.c.old	2014-07-02 14:46:25.000000000 +0000
+++ gnu-ghostscript-9.14.1/base/mkromfs.c	2019-01-14 19:08:34.441981516 +0000
@@ -1937,7 +1937,7 @@
     for (i = 0; i < len; ++i) {
         int c = str[i];
 
-        sprintf(linebuf,
+        snprintf(linebuf, sizeof(linebuf),
                 (c < 32 || c >= 127 ? "%d," :
                  c == '\'' || c == '\\' ? "'\\%c'," : "'%c',"),
                 c);
@@ -2228,7 +2228,7 @@
     char line[LINE_SIZE + 1];
 
     while ((rl(in, line, LINE_SIZE), line[0])) {
-        sprintf(linebuf, "%s", line );
+        snprintf(linebuf, sizeof(linebuf), "%s", line );
         wl(linebuf);
     }
     mergefile(os_prefix, inname, in, config, false);
--- gnu-ghostscript-9.14.1/cups/gdevcups.c.old	2014-07-02 15:13:25.000000000 +0000
+++ gnu-ghostscript-9.14.1/cups/gdevcups.c	2019-01-23 20:56:04.082290416 +0000
@@ -1039,7 +1039,7 @@
 
   for (i = 0; i < 16; i ++)
   {
-    sprintf(name, "cupsInteger%d", i);
+    snprintf(name, sizeof(name), "cupsInteger%d", i);
     if ((code = param_write_int(plist, strdup(name),
                         	(int *)(cups->header.cupsInteger + i))) < 0)
       return (code);
@@ -1047,7 +1047,7 @@
 
   for (i = 0; i < 16; i ++)
   {
-    sprintf(name, "cupsReal%d", i);
+    snprintf(name, sizeof(name), "cupsReal%d", i);
     if ((code = param_write_float(plist, strdup(name),
                         	  cups->header.cupsReal + i)) < 0)
       return (code);
@@ -1055,7 +1055,7 @@
 
   for (i = 0; i < 16; i ++)
   {
-    sprintf(name, "cupsString%d", i);
+    snprintf(name, sizeof(name), "cupsString%d", i);
     param_string_from_string(s, cups->header.cupsString[i]);
     if ((code = param_write_string(plist, strdup(name), &s)) < 0)
       return (code);
@@ -3166,19 +3166,19 @@
 
   for (i = 0; i < 16; i ++)
   {
-    sprintf(name, "cupsInteger%d", i);
+    snprintf(name, sizeof(name), "cupsInteger%d", i);
     intoption(cupsInteger[i],strdup(name), unsigned)
   }
 
   for (i = 0; i < 16; i ++)
   {
-    sprintf(name, "cupsReal%d", i);
+    snprintf(name, sizeof(name), "cupsReal%d", i);
     floatoption(cupsReal[i], strdup(name))
   }
 
   for (i = 0; i < 16; i ++)
   {
-    sprintf(name, "cupsString%d", i);
+    snprintf(name, sizeof(name), "cupsString%d", i);
     stringoption(cupsString[i], strdup(name))
   }
 
@@ -4247,10 +4247,10 @@
     */
 
     if (pdev->HWResolution[0] != pdev->HWResolution[1])
-      sprintf(resolution, "%.0fx%.0fdpi", pdev->HWResolution[0],
+      snprintf(resolution, sizeof(resolution), "%.0fx%.0fdpi", pdev->HWResolution[0],
               pdev->HWResolution[1]);
     else
-      sprintf(resolution, "%.0fdpi", pdev->HWResolution[0]);
+      snprintf(resolution, sizeof(resolution), "%.0fdpi", pdev->HWResolution[0]);
 
     for (i = 0, profile = cups->PPD->profiles;
          i < cups->PPD->num_profiles;