dtsr: Coverity fixes for string buffer issues
authorPeter Howkins <flibble@users.sf.net>
Tue, 24 Apr 2018 02:03:06 +0000 (03:03 +0100)
committerPeter Howkins <flibble@users.sf.net>
Tue, 24 Apr 2018 02:03:06 +0000 (03:03 +0100)
cde/programs/dtsr/dtsrclean.c
cde/programs/dtsr/dtsrdbrec.c
cde/programs/dtsr/dtsrhan.c
cde/programs/dtsr/huffcode.c
cde/programs/dtsr/tomita.c

index b5ab2baef848b52ecde2fbd127783fddb9595254..8c2d8814df43042fe963a730cd8a68fa9c1bf481 100644 (file)
@@ -1044,7 +1044,7 @@ int             main (int argc, char *argv[])
            fprintf (aa_stderr,  catgets(dtsearch_catd, MS_dtsrclean, 13,
                "%s: Using DBFPATH = '%s'.\n") ,
                aa_argv0, ptr);
-           strcpy (full_dbname_old, ptr);
+           snprintf(full_dbname_old, sizeof(full_dbname_old), "%s", ptr);
 
            /* Ensure that DBFPATH ends in a slash. */
            ptr = strchr (full_dbname_old, '\0');
index 800c7e5b7c8e9c752e76fbd770f69d4e3ba791a9..cbc9b56df7f1a30104af8a2d3d3c6e1964d693fe 100644 (file)
@@ -319,7 +319,7 @@ int main (int argc, char *argv[])
                "USAGE: %s <dbname>\n"), aa_argv0);
        return 2;
     }
-    sprintf (renamebuf, "%s.d00", argv[1]);
+    snprintf(renamebuf, sizeof(renamebuf), "%s.d00", argv[1]);
     db_oflag = O_RDONLY;       /* db files may be read-only */
     d_open (argv[1], "o");
     if (db_status != S_OKAY) {
index fdf8b64e4a090b5ce88e5ecf8f50cf60779fc799..acac00db9b1576cba6264641ab60528a1349d8b4 100644 (file)
@@ -795,7 +795,7 @@ void            process_profile ()
                        bad_profile = TRUE;
                        continue;
                    }
-                   strcpy (field_current->text, tok);
+                   snprintf(field_current->text, sizeof(field_current->text), "%s", tok);
                    field_current->text_length = strlen (field_current->text);
 
                    /*-- get offset --*/
index c5f3b710adbebdd56b103a494366b5bbe92ee9fa..947dfb0f299537b0f00d72427784993f378a6725 100644 (file)
@@ -387,11 +387,11 @@ static char    *char_label (int x)
            if (x > 256)
                return "";
            else if (x < 32) {
-               sprintf (buf, "'CTRL-%c'", 0x40 | x);
+               snprintf(buf, sizeof(buf), "'CTRL-%c'", 0x40 | x);
                return buf;
            }
            else if (x >= 128) {
-               strcpy (buf, catgets(dtsearch_catd, MS_huff, 32,
+               snprintf(buf, sizeof(buf), "%s", catgets(dtsearch_catd, MS_huff, 32,
                    "(nonascii char, high bit set)"));
                return buf;
            }
index 92076405e902b1d5eaa2aeb92f9807fc2d3a5d27..c165a365475bdbc38da0dcec8f2fdae271feddb9 100644 (file)
@@ -247,7 +247,7 @@ static int      parse_infbuf (char *infbuf)
            return FALSE;
        }
 
-    strcpy (parsed_dbname, ptr);
+    snprintf(parsed_dbname, sizeof(parsed_dbname), "%s", ptr);
     parsed_dblk = usrblk.dblk;
 
     /* Hop over to beginning of 2nd token */