diff --git a/jsc.cpp b/jsc.cpp index fca6fee..3d0765f 100644 --- a/jsc.cpp +++ b/jsc.cpp @@ -137,8 +137,14 @@ QString JSC::decompress(Codeword const& bitvec){ k++; } + if(start + k >= bytes.length()){ + break; + } j = j*s + bytes[start + k] + base[k]; + if(j >= (int)JSC::size){ + break; + } auto word = QString(JSC::map[j].str); out.append(word); diff --git a/mainwindow.cpp b/mainwindow.cpp index 9a99133..50315a0 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1445,8 +1445,11 @@ void MainWindow::initializeDummyData(){ return; } - // auto d = DecodedText("h+vWp6mRPprH", 6); - // qDebug() << d.message() << buildMessageFrames(d.message()); + auto d = DecodedText("h+vWp6mRPprH", 6); + qDebug() << d.message() << buildMessageFrames(d.message()); + + auto d = DecodedText("bYG4CKYT0cKG", 7); + qDebug() << d.message(); // qDebug() << Varicode::isValidCallsign("@GROUP1", nullptr); // qDebug() << Varicode::packAlphaNumeric50("VE7/KN4CRD");