Add some bounds checking to the HDMI port number. bugzid: 508
[deb_libcec.git] / src / testclient / main.cpp
index d4c0ed9e7a1e6406c7d98799a84101f39554fc1f..1621ad34b1d80b437409bc805765c2bc460d5b2f 100644 (file)
@@ -1023,7 +1023,12 @@ bool ProcessCommandLineArguments(int argc, char *argv[])
       {
         if (argc >= iArgPtr + 2)
         {
-          g_config.iHDMIPort = (int8_t)atoi(argv[iArgPtr + 1]);
+          uint8_t hdmiport = (int8_t)atoi(argv[iArgPtr + 1]);
+          if (hdmiport < 1)
+              hdmiport = 1;
+          if (hdmiport > 15)
+              hdmiport = 15;
+          g_config.iHDMIPort = hdmiport;
           cout << "using HDMI port '" << (int)g_config.iHDMIPort << "'" << endl;
           ++iArgPtr;
         }
@@ -1041,7 +1046,7 @@ bool ProcessCommandLineArguments(int argc, char *argv[])
       {
         if (argc >= iArgPtr + 2)
         {
-          snprintf(g_config.strDeviceName, 13, argv[iArgPtr + 1]);
+          snprintf(g_config.strDeviceName, 13, "%s", argv[iArgPtr + 1]);
           cout << "using osd name " << g_config.strDeviceName << endl;
           ++iArgPtr;
         }