kva: check boundaries more strictly
authorkomh <komh@b3059339-0415-0410-9bf9-f77b7e298cf2>
Wed, 29 May 2019 09:56:50 +0000 (09:56 +0000)
committerkomh <komh@b3059339-0415-0410-9bf9-f77b7e298cf2>
Wed, 29 May 2019 09:56:50 +0000 (09:56 +0000)
Suggested by reimar.

git-svn-id: svn://git.mplayerhq.hu/mplayer/trunk@38146 b3059339-0415-0410-9bf9-f77b7e298cf2

libvo/vo_kva.c

index bef2600..04333c6 100644 (file)
@@ -608,7 +608,9 @@ static int preinit(const char *arg)
         {NULL,              0, NULL,      NULL}
     };
 
-    PCSZ pcszVideoModeStr[] = {"DIVE", "WarpOverlay!", "SNAP", "VMAN"};
+    PCSZ pcszVideoModeStr[] = {"UNKNOWN", "DIVE", "WarpOverlay!", "SNAP",
+                               "VMAN"};
+    int nVideoModeStr = sizeof(pcszVideoModeStr) / sizeof(*pcszVideoModeStr);
 
     if (subopt_parse(arg, subopts) != 0)
         return -1;
@@ -688,7 +690,8 @@ static int preinit(const char *arg)
     kvaCaps(&m_int.kvac);
 
     mp_msg(MSGT_VO, MSGL_V, "KVA: Selected video mode = %s\n",
-           pcszVideoModeStr[m_int.kvac.ulMode - 1]);
+           pcszVideoModeStr[m_int.kvac.ulMode >= nVideoModeStr ?
+                                0 : m_int.kvac.ulMode]);
 
     kvaDisableScreenSaver();