Fixed segfault if an axis is misconfigured (i.e. is not a sinqAxis
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user