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>

index | next in thread | raw e-mail

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);


help

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