Use safe_strncpy.
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 @@
/* 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 47fb637..95be018 100644
--- a/sed.c
+++ b/sed.c
@@ -388,9 +388,8 @@
/* 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;
}