svn commit: r281779 - head/usr.sbin/vidcontrol

Ed Maste emaste at FreeBSD.org
Mon Apr 20 17:43:55 UTC 2015


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


More information about the svn-src-all mailing list