diff --git a/src/nhttpd/tuxboxapi/controlapi.cpp b/src/nhttpd/tuxboxapi/controlapi.cpp
index 95b53c2e1..af3a3c07e 100644
--- a/src/nhttpd/tuxboxapi/controlapi.cpp
+++ b/src/nhttpd/tuxboxapi/controlapi.cpp
@@ -2247,7 +2247,8 @@ void CControlAPI::SendAllCurrentVAPid(CyhookHandler *hh)
{
if(!(init_iso))
{
- strncpy( pids.APIDs[j].desc, _getISO639Description( pids.APIDs[j].desc ),DESC_MAX_LEN );
+ std::string tmp_desc = _getISO639Description( pids.APIDs[j].desc);
+ strncpy(pids.APIDs[j].desc, tmp_desc.c_str(), DESC_MAX_LEN -1);
}
hh->printf("%05u %s %s\n",pids.APIDs[j].pid,pids.APIDs[j].desc,pids.APIDs[j].is_ac3 ? " (AC3)": pids.APIDs[j].desc,pids.APIDs[j].is_aac ? "(AAC)" : pids.APIDs[j].desc,pids.APIDs[j].is_eac3 ? "(EAC3)" : " ");
}
diff --git a/src/nhttpd/tuxboxapi/neutrinoyparser.cpp b/src/nhttpd/tuxboxapi/neutrinoyparser.cpp
index c1da704f8..367e3ee89 100644
--- a/src/nhttpd/tuxboxapi/neutrinoyparser.cpp
+++ b/src/nhttpd/tuxboxapi/neutrinoyparser.cpp
@@ -694,7 +694,8 @@ std::string CNeutrinoYParser::func_get_audio_pids_as_dropdown(CyhookHandler *,
{
if(!(init_iso))
{
- strcpy( pids.APIDs[j].desc, _getISO639Description( pids.APIDs[j].desc ) );
+ std::string tmp_desc = _getISO639Description( pids.APIDs[j].desc);
+ strncpy(pids.APIDs[j].desc, tmp_desc.c_str(), DESC_MAX_LEN -1);
}
yresult += string_printf("\r\n",idx_as_id ? j : pids.APIDs[j].pid,(j==selected_apid) ? "selected=\"selected\"" : "",std::string(pids.APIDs[j].desc).c_str(),pids.APIDs[j].is_ac3 ? " (AC3)": pids.APIDs[j].is_aac ? "(AAC)" : pids.APIDs[j].is_eac3 ? "(EAC3)" : " ");
}
@@ -711,7 +712,8 @@ std::string CNeutrinoYParser::func_get_audio_pids_as_dropdown(CyhookHandler *,
{
if(!(init_iso))
{
- strcpy( pids.APIDs[i].desc, _getISO639Description( pids.APIDs[i].desc ) );
+ std::string tmp_desc = _getISO639Description( pids.APIDs[i].desc);
+ strncpy(pids.APIDs[i].desc, tmp_desc.c_str(), DESC_MAX_LEN -1);
}
yresult += string_printf("\r\n",
idx_as_id ? i : it->pid, (i==selected_apid) ? "selected=\"selected\"" : "",pids.APIDs[i].desc,