diff --git a/lib/libtuxtxt/tuxtxt.cpp b/lib/libtuxtxt/tuxtxt.cpp index f26b23d30..60d9a896a 100644 --- a/lib/libtuxtxt/tuxtxt.cpp +++ b/lib/libtuxtxt/tuxtxt.cpp @@ -1740,7 +1740,7 @@ int tuxtx_main(int pid, int page, int source) subtitledelay++; // display subtitledelay PosY = StartY; - char ns[10]; + char ns[18]; SetPosX(1); sprintf(ns,"+%d ",subtitledelay); RenderCharFB(ns[0],&atrtable[ATR_WB]); @@ -1758,7 +1758,7 @@ int tuxtx_main(int pid, int page, int source) if (subtitledelay < 0) subtitledelay = 0; // display subtitledelay PosY = StartY; - char ns[10]; + char ns[18]; SetPosX(1); sprintf(ns,"+%d ",subtitledelay); RenderCharFB(ns[0],&atrtable[ATR_WB]); diff --git a/src/gui/info_menue.cpp b/src/gui/info_menue.cpp index 161b11bf9..60b9b36e6 100644 --- a/src/gui/info_menue.cpp +++ b/src/gui/info_menue.cpp @@ -72,9 +72,10 @@ int CInfoMenu::exec(CMenuTarget* parent, const std::string &actionKey) if (actionKey == "cs_get_info") { #if HAVE_CST_HARDWARE - char str[1024] = {}; - sprintf(str, "cs_get_revision(): 0x%02X\n", cs_get_revision()); - sprintf(str, "%scs_get_chip_type(): 0x%04X\n", str, cs_get_chip_type()); + char str[128] = {}; + sprintf(str, "cs_get_revision(): 0x%02X\n" + "cs_get_chip_type(): 0x%04X\n", + cs_get_revision(), cs_get_chip_type()); ShowMsg(LOCALE_MESSAGEBOX_INFO, str, CMsgBox::mbrBack, CMsgBox::mbBack); return res; #endif diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index b43a20c0c..9f2c5bef7 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -2492,13 +2492,13 @@ void CMoviePlayerGui::selectAudioPid() defpid = false; } - char cnt[5]; + char cnt[6]; sprintf(cnt, "%d", count); CMenuForwarder * item = new CMenuForwarder(apidtitle.c_str(), enabled, NULL, selector, cnt, CRCInput::convertDigitToKey(count + 1)); APIDSelector.addItem(item, defpid); } #if HAVE_CST_HARDWARE - char cnt[5]; + char cnt[6]; sprintf(cnt, "%d", count); std::string apidtitle; if (g_settings.movieplayer_select_ac3_atype0 == false) diff --git a/src/gui/network_setup.cpp b/src/gui/network_setup.cpp index 14141a391..c21c9f523 100644 --- a/src/gui/network_setup.cpp +++ b/src/gui/network_setup.cpp @@ -794,7 +794,7 @@ int CNetworkSetup::showWlanList() CMenuWidget wlist(LOCALE_MAINSETTINGS_NETWORK, NEUTRINO_ICON_NETWORK, width); wlist.addIntroItems(LOCALE_NETWORKMENU_SSID_SCAN); //intros - char cnt[10]; + char cnt[12]; int select = -1; CMenuSelectorTarget * selector = new CMenuSelectorTarget(&select); diff --git a/src/nhttpd/tuxboxapi/controlapi.cpp b/src/nhttpd/tuxboxapi/controlapi.cpp index 8790be89f..746ed7f15 100644 --- a/src/nhttpd/tuxboxapi/controlapi.cpp +++ b/src/nhttpd/tuxboxapi/controlapi.cpp @@ -3063,6 +3063,8 @@ void CControlAPI::doNewTimer(CyhookHandler *hh) std::string _rec_dir = hh->ParamList["rec_dir"]; void *data=NULL; bool standby_on = false; + char msg[256]; + static_assert(EXEC_PLUGIN_NAME_MAXLEN <= sizeof(msg) && REMINDER_MESSAGE_MAXLEN <= sizeof(msg), "Timer msg size mismatch"); if(type == CTimerd::TIMER_RECORD) announceTimeT-=120; if(type == CTimerd::TIMER_STANDBY) @@ -3091,17 +3093,15 @@ void CControlAPI::doNewTimer(CyhookHandler *hh) } else if(type==CTimerd::TIMER_REMIND) { - char msg[REMINDER_MESSAGE_MAXLEN]; - memset(msg, 0, sizeof(msg)); + memset(msg, 0, REMINDER_MESSAGE_MAXLEN); strncpy(msg, hh->ParamList["msg"].c_str(),REMINDER_MESSAGE_MAXLEN-1); - data=msg; + data = msg; } else if(type==CTimerd::TIMER_EXEC_PLUGIN) { - char msg[EXEC_PLUGIN_NAME_MAXLEN]; - memset(msg, 0, sizeof(msg)); + memset(msg, 0, EXEC_PLUGIN_NAME_MAXLEN); strncpy(msg, hh->ParamList["PluginName"].c_str(),EXEC_PLUGIN_NAME_MAXLEN-1); - data=msg; + data = msg; } // update or add timer if(hh->ParamList["update"]=="1")