Use safe_strncpy.
authorMatt Kraai <kraai@debian.org>
Sun, 27 May 2001 14:11:52 +0000 (14:11 -0000)
committerMatt Kraai <kraai@debian.org>
Sun, 27 May 2001 14:11:52 +0000 (14:11 -0000)
editors/sed.c
sed.c

index 47fb63712066a5f1a8e02133d7b9f8bbe06006f5..95be0182244919e32708a81ce8418c81dd28b7b3 100644 (file)
@@ -388,9 +388,8 @@ static int parse_file_cmd(struct sed_cmd *sed_cmd, const char *filecmdstr)
        /* the first non-whitespace we get is a filename. the filename ends when we
         * hit a normal sed command terminator or end of string */
        filenamelen = strcspn(&filecmdstr[idx], "; \n\r\t\v\0");
-       sed_cmd->filename = xmalloc(sizeof(char) * filenamelen + 1);
-       strncpy(sed_cmd->filename, &filecmdstr[idx], filenamelen);
-       sed_cmd->filename[filenamelen] = 0;
+       sed_cmd->filename = xmalloc(filenamelen + 1);
+       safe_strncpy(sed_cmd->filename, &filecmdstr[idx], filenamelen + 1);
 
        return idx + filenamelen;
 }
diff --git a/sed.c b/sed.c
index 47fb63712066a5f1a8e02133d7b9f8bbe06006f5..95be0182244919e32708a81ce8418c81dd28b7b3 100644 (file)
--- a/sed.c
+++ b/sed.c
@@ -388,9 +388,8 @@ static int parse_file_cmd(struct sed_cmd *sed_cmd, const char *filecmdstr)
        /* the first non-whitespace we get is a filename. the filename ends when we
         * hit a normal sed command terminator or end of string */
        filenamelen = strcspn(&filecmdstr[idx], "; \n\r\t\v\0");
-       sed_cmd->filename = xmalloc(sizeof(char) * filenamelen + 1);
-       strncpy(sed_cmd->filename, &filecmdstr[idx], filenamelen);
-       sed_cmd->filename[filenamelen] = 0;
+       sed_cmd->filename = xmalloc(filenamelen + 1);
+       safe_strncpy(sed_cmd->filename, &filecmdstr[idx], filenamelen + 1);
 
        return idx + filenamelen;
 }