diff options
-rw-r--r-- | editors/sed.c | 5 | ||||
-rw-r--r-- | sed.c | 5 |
2 files changed, 4 insertions, 6 deletions
diff --git a/editors/sed.c b/editors/sed.c index 47fb637..95be018 100644 --- a/editors/sed.c +++ b/editors/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; } @@ -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; } |