Fixed segfault if an axis is misconfigured (i.e. is not a sinqAxis
All checks were successful
Test And Build / Lint (push) Successful in 6s
Test And Build / Build (push) Successful in 5s

This commit is contained in:
2025-12-23 11:42:46 +01:00
parent 1d1e562490
commit e234d05815

View File

@@ -439,10 +439,12 @@ asynStatus sinqController::writeInt32(asynUser *pasynUser, epicsInt32 value) {
sinqAxis *axis = getSinqAxis(pasynUser);
if (axis == nullptr) {
int axisNo;
getAddress(pasynUser, &axisNo);
asynPrint(this->pasynUserSelf, ASYN_TRACE_ERROR,
"Controller \"%s\", axis %d => %s, line %d:\nAxis is not an "
"instance of sinqAxis",
portName, axis->axisNo(), __PRETTY_FUNCTION__, __LINE__);
portName, axisNo, __PRETTY_FUNCTION__, __LINE__);
return asynError;
}
@@ -462,10 +464,12 @@ asynStatus sinqController::readInt32(asynUser *pasynUser, epicsInt32 *value) {
sinqAxis *axis = getSinqAxis(pasynUser);
if (axis == nullptr) {
int axisNo;
getAddress(pasynUser, &axisNo);
asynPrint(this->pasynUserSelf, ASYN_TRACE_ERROR,
"Controller \"%s\", axis %d => %s, line %d:\nAxis is not an "
"instance of sinqAxis",
portName, axis->axisNo(), __PRETTY_FUNCTION__, __LINE__);
portName, axisNo, __PRETTY_FUNCTION__, __LINE__);
return asynError;
}
@@ -495,7 +499,7 @@ asynStatus sinqController::couldNotParseResponse(const char *command,
asynPrint(this->pasynUserSelf, ASYN_TRACE_ERROR,
"Controller \"%s\", axis %d => %s, line %d:\nAxis is not an "
"instance of sinqAxis",
portName, axis->axisNo(), __PRETTY_FUNCTION__, __LINE__);
portName, axisNo, __PRETTY_FUNCTION__, __LINE__);
return asynError;
}