summaryrefslogtreecommitdiff
path: root/sftp.c
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2012-10-05 10:43:58 +1000
committerDarren Tucker <dtucker@zip.com.au>2012-10-05 10:43:58 +1000
commit063018d9f6f7beb1408213fc27c720534e7c987e (patch)
tree67a9089586a92d0aa8678ad08e490b92fcb74e0e /sftp.c
parent302889a1b0db42d8065fa882ae8e06ca2ff75477 (diff)
- dtucker@cvs.openbsd.org 2012/09/18 10:36:12
[sftp.c] Add bounds check on sftp tab-completion. Part of a patch from from Jean-Marc Robert via tech@, ok djm
Diffstat (limited to 'sftp.c')
-rw-r--r--sftp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sftp.c b/sftp.c
index 217b63a2d..3c7bc64e1 100644
--- a/sftp.c
+++ b/sftp.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sftp.c,v 1.137 2012/09/17 09:54:44 djm Exp $ */ 1/* $OpenBSD: sftp.c,v 1.138 2012/09/18 10:36:12 dtucker Exp $ */
2/* 2/*
3 * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> 3 * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
4 * 4 *
@@ -991,6 +991,10 @@ makeargv(const char *arg, int *argcp, int sloppy, char *lastquote,
991 state = MA_START; 991 state = MA_START;
992 i = j = 0; 992 i = j = 0;
993 for (;;) { 993 for (;;) {
994 if (argc >= sizeof(argv) / sizeof(*argv)){
995 error("Too many arguments.");
996 return NULL;
997 }
994 if (isspace(arg[i])) { 998 if (isspace(arg[i])) {
995 if (state == MA_UNQUOTED) { 999 if (state == MA_UNQUOTED) {
996 /* Terminate current argument */ 1000 /* Terminate current argument */