Module Name:    src
Committed By:   christos
Date:           Tue May 20 15:05:09 UTC 2014

Modified Files:
        src/lib/libedit: eln.c

Log Message:
Always NULL terminate the argv[] array. From OpenBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/lib/libedit/eln.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libedit/eln.c
diff -u src/lib/libedit/eln.c:1.15 src/lib/libedit/eln.c:1.16
--- src/lib/libedit/eln.c:1.15	Wed Feb 26 08:50:29 2014
+++ src/lib/libedit/eln.c	Tue May 20 11:05:08 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: eln.c,v 1.15 2014/02/26 13:50:29 christos Exp $	*/
+/*	$NetBSD: eln.c,v 1.16 2014/05/20 15:05:08 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 #include "config.h"
 #if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: eln.c,v 1.15 2014/02/26 13:50:29 christos Exp $");
+__RCSID("$NetBSD: eln.c,v 1.16 2014/05/20 15:05:08 christos Exp $");
 #endif /* not lint && not SCCSID */
 
 #include "histedit.h"
@@ -158,10 +158,10 @@ el_set(EditLine *el, int op, ...)
 		const char *argv[20];
 		int i;
 		const wchar_t **wargv;
-		for (i = 1; i < (int)__arraycount(argv); ++i)
-			if ((argv[i] = va_arg(ap, char *)) == NULL)
+		for (i = 1; i < (int)__arraycount(argv) - 1; ++i)
+			if ((argv[i] = va_arg(ap, const char *)) == NULL)
 			    break;
-		argv[0] = NULL;
+		argv[0] = argv[i] = NULL;
 		wargv = (const wchar_t **)
 		    ct_decode_argv(i + 1, argv, &el->el_lgcyconv);
 		if (!wargv) {

Reply via email to