aboutsummaryrefslogtreecommitdiff
path: root/sed.c
diff options
context:
space:
mode:
Diffstat (limited to 'sed.c')
-rw-r--r--sed.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sed.c b/sed.c
index 89b16682f..24b62e5fa 100644
--- a/sed.c
+++ b/sed.c
@@ -223,7 +223,7 @@ static int parse_subst_cmd(struct sed_cmd *sed_cmd, const char *substr)
223 idx = index_of_next_unescaped_regexp_delim(sed_cmd, substr, ++idx); 223 idx = index_of_next_unescaped_regexp_delim(sed_cmd, substr, ++idx);
224 if (idx == -1) 224 if (idx == -1)
225 error_msg_and_die("bad format in substitution expression"); 225 error_msg_and_die("bad format in substitution expression");
226 match = strdup_substr(substr, oldidx, idx); 226 match = xstrndup(substr + oldidx, idx - oldidx);
227 227
228 /* determine the number of back references in the match string */ 228 /* determine the number of back references in the match string */
229 /* Note: we compute this here rather than in the do_subst_command() 229 /* Note: we compute this here rather than in the do_subst_command()
@@ -242,7 +242,7 @@ static int parse_subst_cmd(struct sed_cmd *sed_cmd, const char *substr)
242 idx = index_of_next_unescaped_regexp_delim(sed_cmd, substr, ++idx); 242 idx = index_of_next_unescaped_regexp_delim(sed_cmd, substr, ++idx);
243 if (idx == -1) 243 if (idx == -1)
244 error_msg_and_die("bad format in substitution expression"); 244 error_msg_and_die("bad format in substitution expression");
245 sed_cmd->replace = strdup_substr(substr, oldidx, idx); 245 sed_cmd->replace = xstrndup(substr + oldidx, idx - oldidx);
246 246
247 /* process the flags */ 247 /* process the flags */
248 while (substr[++idx]) { 248 while (substr[++idx]) {