2023-11-27 Fred Gleason <fredg@paravelsystems.com>

* Fixed a bug in ripcd(8) that could cause a segfault when processing
	a null password in the 'Login' ['LO'] RML.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2023-11-27 14:51:41 -05:00
parent 60d8b8274a
commit 982cdc2d86
2 changed files with 9 additions and 1 deletions

View File

@@ -24495,3 +24495,6 @@
if ALSA support was not enabled.
2023-11-21 Fred Gleason <fredg@paravelsystems.com>
* Incremented the package version to 4.1.2.
2023-11-27 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in ripcd(8) that could cause a segfault when processing
a null password in the 'Login' ['LO'] RML.

View File

@@ -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;i<rml.argQuantity();i++) {
password+=rml.arg(i)+" ";
}
password=password.left(password.length()-1);
if(!rduser->checkPassword(password,false)) {
if(rml.echoRequested()) {
rml.acknowledge(false);
sendRml(&rml);