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);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to