summaryrefslogtreecommitdiff
path: root/editors/sed.c
diff options
context:
space:
mode:
authorDenys Vlasenko2009-09-22 03:02:21 +0200
committerDenys Vlasenko2009-09-22 03:02:21 +0200
commit11c8238d1b0f72dffb2be563069ba5acca075f8e (patch)
tree3e2591852a0d0565d25aff6f9fb45360509ad425 /editors/sed.c
parentd75295c80bcfa577b124328f09e75ea15facf67f (diff)
downloadbusybox-11c8238d1b0f72dffb2be563069ba5acca075f8e.zip
busybox-11c8238d1b0f72dffb2be563069ba5acca075f8e.tar.gz
sed: fix bug 623 (SEGV on some sed commands)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'editors/sed.c')
-rw-r--r--editors/sed.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/editors/sed.c b/editors/sed.c
index b749419..e7b2c21 100644
--- a/editors/sed.c
+++ b/editors/sed.c
@@ -690,10 +690,8 @@ static int do_subst_command(sed_cmd_t *sed_cmd, char **line_p)
if (sed_cmd->which_match)
break;
- if (*line == '\0')
- break;
//maybe (G.regmatch[0].rm_eo ? REG_NOTBOL : 0) instead of unconditional REG_NOTBOL?
- } while (regexec(current_regex, line, 10, G.regmatch, REG_NOTBOL) != REG_NOMATCH);
+ } while (*line && regexec(current_regex, line, 10, G.regmatch, REG_NOTBOL) != REG_NOMATCH);
/* Copy rest of string into output pipeline */
while (1) {