changeset 13862:fd9b980efd06

702 tput calls gets() Reviewed by: Dan McDonald <danmcd@nexenta.com> Reviewed by: Gordon Ross <gordon.w.ross@gmail.com> Approved by: Garrett D'Amore <garrett@damore.org>
author Gary Mills <gary_mills@fastmail.fm>
date Wed, 17 Oct 2012 06:40:09 -0700
parents c6a784e8dbc8
children 3972d90e0f77
files usr/src/cmd/tput/tput.c
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/tput/tput.c	Sun Oct 14 15:13:58 2012 -0400
+++ b/usr/src/cmd/tput/tput.c	Wed Oct 17 06:40:09 2012 -0700
@@ -22,6 +22,7 @@
 /*
  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
+ * Copyright (c) 2012 Gary Mills
  */
 
 /*	Copyright (c) 1988 AT&T	*/
@@ -174,10 +175,12 @@
 		for (i = 0; i < 10; i++)
 			v[i] = (char *)malloc(32 * sizeof (char));
 
-		while (gets(buff) != NULL) {
+		while (fgets(buff, sizeof (buff), stdin) != NULL) {
 			/* read standard input line; skip over empty lines */
 			if ((std_argc =
-			    sscanf(buff, "%s %s %s %s %s %s %s %s %s %s",
+			    sscanf(buff,
+			    "%31s %31s %31s %31s %31s %31s %31s %31s "
+			    "%31s %31s",
 			    v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7],
 			    v[8], v[9])) < 1) {
 				continue;