diff --git a/ChangeLog b/ChangeLog index 571551b5..6be393f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24495,3 +24495,6 @@ if ALSA support was not enabled. 2023-11-21 Fred Gleason * Incremented the package version to 4.1.2. +2023-11-27 Fred Gleason + * Fixed a bug in ripcd(8) that could cause a segfault when processing + a null password in the 'Login' ['LO'] RML. diff --git a/ripcd/local_macros.cpp b/ripcd/local_macros.cpp index 1ab6dae7..ed6761c7 100644 --- a/ripcd/local_macros.cpp +++ b/ripcd/local_macros.cpp @@ -249,6 +249,7 @@ void MainObject::RunLocalMacros(RDMacro *rml_in) RDMatrix::GpioType gpio_type; QByteArray data; int err; + QString password=""; rda->syslog(LOG_INFO,"received rml: \"%s\" from %s", (const char *)rml_in->toString().toUtf8(), @@ -577,7 +578,11 @@ void MainObject::RunLocalMacros(RDMacro *rml_in) delete rduser; return; } - if(!rduser->checkPassword(rml.arg(1),false)) { + for(int i=1;icheckPassword(password,false)) { if(rml.echoRequested()) { rml.acknowledge(false); sendRml(&rml);