Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Apr 2015 17:43:55 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r281779 - head/usr.sbin/vidcontrol
Message-ID:  <201504201743.t3KHhtcZ089929@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Mon Apr 20 17:43:55 2015
New Revision: 281779
URL: https://svnweb.freebsd.org/changeset/base/281779

Log:
  vidcontrol: skip invalid video modes returned by vt(4)
  
  vt(4) has a stub CONS_MODEINFO ioctl that does not provide any data
  but returns success. This needs to be fixed in the kernel, but address
  it in vidcontrol(1) as well in case it's run on an older kernel.
  
  Reviewed by:	bde
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/usr.sbin/vidcontrol/vidcontrol.c

Modified: head/usr.sbin/vidcontrol/vidcontrol.c
==============================================================================
--- head/usr.sbin/vidcontrol/vidcontrol.c	Mon Apr 20 17:43:36 2015	(r281778)
+++ head/usr.sbin/vidcontrol/vidcontrol.c	Mon Apr 20 17:43:55 2015	(r281779)
@@ -1085,12 +1085,16 @@ show_mode_info(void)
 	printf("---------------------------------------"
 	       "---------------------------------------\n");
 
+	memset(&_info, 0, sizeof(_info));
 	for (mode = 0; mode <= M_VESA_MODE_MAX; ++mode) {
 		_info.vi_mode = mode;
 		if (ioctl(0, CONS_MODEINFO, &_info))
 			continue;
 		if (_info.vi_mode != mode)
 			continue;
+		if (_info.vi_width == 0 && _info.vi_height == 0 &&
+		    _info.vi_cwidth == 0 && _info.vi_cheight == 0)
+			continue;
 
 		printf("%3d (0x%03x)", mode, mode);
     		printf(" 0x%08x", _info.vi_flags);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504201743.t3KHhtcZ089929>