summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2024-04-16 16:03:54 +0000
committerLaurent Bercot <ska@appnovation.com>2024-04-16 16:03:54 +0000
commit167eeccde389ea3a9611aed611179c729d719460 (patch)
tree18f1bdac39afb7cb6ebf475633974ff7faa712a2 /src
parenteb1b2c548ba48691e48069aa82c1f102ca0e8e67 (diff)
downloadexecline-167eeccde389ea3a9611aed611179c729d719460.tar.xz
Fix off-by-one in backtick; prepare for 2.9.5.1
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src')
-rw-r--r--src/execline/backtick.c1
-rw-r--r--src/libexecline/el_modifs_and_exec.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/execline/backtick.c b/src/execline/backtick.c
index e4a543b..5625921 100644
--- a/src/execline/backtick.c
+++ b/src/execline/backtick.c
@@ -53,6 +53,7 @@ int main (int argc, char const **argv, char const *const *envp)
argc1 = el_semicolon(argv) ;
if (!argc1) strerr_dief1x(100, "empty block") ;
if (argc1 >= argc) strerr_dief1x(100, "unterminated block") ;
+ if (argc1 + 1 == argc) strerr_dief1x(100, "the command line after the block must not be empty") ;
argv[argc1] = 0 ;
{
diff --git a/src/libexecline/el_modifs_and_exec.c b/src/libexecline/el_modifs_and_exec.c
index fe0117c..ca72291 100644
--- a/src/libexecline/el_modifs_and_exec.c
+++ b/src/libexecline/el_modifs_and_exec.c
@@ -21,7 +21,7 @@ void el_modifs_and_exec (char const *const *argv, char const *const *vars, char
if (values[i])
{
yesn++ ;
- yeslen += len ;
+ yeslen += len + 1 ;
modiflen += 1 + strlen(values[i]) ;
}
}