summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorGerrit Pape <pape@smarden.org>2010-05-03 11:14:47 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2010-05-03 11:14:47 +0800
commit18071c7b6a847a7d8703c261eea522d5398fee90 (patch)
tree9bf3d69e0bc98e91c5e9c406c95a8112b30a7c04 /src
parent[JOBS] Fix for job control off warning (diff)
downloaddash-18071c7b6a847a7d8703c261eea522d5398fee90.tar.gz
dash-18071c7b6a847a7d8703c261eea522d5398fee90.zip
[EVAL] Fix command -- crash
parse_command_args() returning a **argv pointer with *argv == 0 makes
dash segfault in find_command().  To reproduce run

 dash -c 'command --'

With this commit, parse_command_args() returns 0 if *argv is null after
parsing --, and so fixes the subsequent segfault.

Reported by Jonny through http://bugs.debian.org/579543

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'src')
-rw-r--r--src/eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c
index 2f195af..62d9d5d 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -651,7 +651,8 @@ parse_command_args(char **argv, const char **path)
 		if (!(c = *cp++))
 			break;
 		if (c == '-' && !*cp) {
-			argv++;
+			if (!*++argv)
+				return 0;
 			break;
 		}
 		do {
ages 2063.8Štěpán Němec 2022-10-16Update to Linux man-mages 6.00Štěpán Němec 2022-10-16Update to NetBSD 9.3Štěpán Němec 2022-09-18Make copyrights and AUTHORS consistentJune McEnroe 2022-07-27Update to FreeBSD 13.1 2062.83June McEnroe 2022-07-27openbsd: Include man pages from baseXX.tgzKeith Whitney 2022-05-08Update to OpenBSD 7.1 2062.73June McEnroe 2021-10-15Update to OpenBSD 7.0 2062.63June McEnroe 2021-08-29Update to Linux man-pages 5.13 2062.53Štěpán Němec 2021-08-26Update to NetBSD 9.2 2062.52June McEnroe 2021-08-26Support DESTDIR in install/uninstallJune McEnroe 2021-08-26Add version number generatorJune McEnroe 2021-08-22Add ISC license headerJune McEnroe 2021-08-22Update to Linux man-pages 5.12Štěpán Němec 2021-06-21Add manuals for macOS 11.3June McEnroe 2021-05-08Update to OpenBSD 6.9June McEnroe 2021-04-26Update to Linux man-pages 5.11June McEnroe 2021-04-26Update to FreeBSD 13.0June McEnroe 2021-01-27Completely rewrite how manuals are fetched and installedJune McEnroe 2020-12-14Update to man-pages-posix 2017-aJune McEnroe 2020-12-14Update to OpenBSD 6.8June McEnroe 2020-12-14Update to NetBSD 9.1June McEnroe 2020-12-14Update to man-pages 5.09June McEnroe 2020-12-14Update to FreeBSD 12.2June McEnroe 2020-06-08Update to OpenBSD 6.7June McEnroe 2020-05-04Add hack for macOS to search extra man sectionsJune McEnroe 2020-05-04Don't clear MANSECTJune McEnroe