diff options
author | Denys Vlasenko | 2009-09-22 03:02:21 +0200 |
---|---|---|
committer | Denys Vlasenko | 2009-09-22 03:02:21 +0200 |
commit | 11c8238d1b0f72dffb2be563069ba5acca075f8e (patch) | |
tree | 3e2591852a0d0565d25aff6f9fb45360509ad425 /editors | |
parent | d75295c80bcfa577b124328f09e75ea15facf67f (diff) | |
download | busybox-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')
-rw-r--r-- | editors/sed.c | 4 |
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) { |