Fixes #2420: input name buffer overflow in Companion (ported from master)

This commit is contained in:
Damjan Adamic
2015-07-05 18:26:19 +02:00
parent 6bd9717315
commit c09d4278c3
4 changed files with 16 additions and 14 deletions
+5 -6
View File
@@ -216,19 +216,18 @@ void InputsPanel::gm_openExpo(int index)
if(index<0 || index>=C9X_MAX_EXPOS) return;
ExpoData mixd(model->expoData[index]);
char inputName[4+1];
emit modified();
update();
if (firmware->getCapability(VirtualInputs)) {
strcpy(inputName, model->inputNames[mixd.chn]);
}
QString inputName;
if (firmware->getCapability(VirtualInputs))
inputName = model->inputNames[mixd.chn];
ExpoDialog *g = new ExpoDialog(this, *model, &mixd, generalSettings, firmware, inputName);
if (g->exec()) {
model->expoData[index] = mixd;
if (firmware->getCapability(VirtualInputs))
strcpy(model->inputNames[mixd.chn], inputName);
strncpy(model->inputNames[mixd.chn], inputName.toAscii().data(), 4);
emit modified();
update();
}