some range checking on interleaver field
authordrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Wed, 9 May 2018 02:49:07 +0000 (02:49 +0000)
committerdrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Wed, 9 May 2018 02:49:07 +0000 (02:49 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@3589 01035d8c-6547-0410-b346-abe4f91aad63

freedv-dev/src/dlg_options.cpp

index 798bac9e230d55eff41bca8dd41f25b3229244d2..8958d4e8eb9698f8e26f494109f94ac6d5d7ec9e 100644 (file)
@@ -500,6 +500,14 @@ void OptionsDlg::ExchangeData(int inout, bool storePersistent)
         wxGetApp().m_FreeDV700Combine = m_ckboxFreeDV700Combine->GetValue();
         long interleave;
         m_txtInterleave->GetValue().ToLong(&interleave);
+        if (interleave < 1) {
+            interleave = 1;
+            m_txtInterleave->SetValue(wxString("1"));
+        }
+        if (interleave > 16) {
+            interleave = 16;
+            m_txtInterleave->SetValue(wxString("16"));
+        }
         wxGetApp().m_FreeDV700Interleave = (int)interleave;
         wxGetApp().m_FreeDV700ManualUnSync = m_ckboxFreeDV700ManualUnSync->GetValue();