-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No protection against overflow/underflow when setting values #66
Comments
As of PR #60 the Waveform (and longString) records do have protections against too long values, but other records have no such protections. |
Commit 53f107d includes protection for StringIn/Out records. Other issues may still exist in other record types. |
The following record types will not have protection against invalid or out of range values:
All other record types are automatically limited by the current implementation. |
I think we also want to protect |
Oh drat. Didn't realise that long records are quietly truncated to 32 bits. I agree, also needs to be addressed. Shouldn't be an issue with |
pythonSoftIOC provides no protections against overflowing data type limits.
The most obvious example of this is longIn/Out, due to the unbounded size of Python3's
int
type. No warning or error is raised if you attempt to do the following:[...]$ caget TEST
PREFIX:TEST 1316134911
The value is truncated, but no warning is given.
This issue should also investigate all other types, and consider adding validation to the incoming values before passing to EPICS.
Possibilities include ( but are not limited to):
The text was updated successfully, but these errors were encountered: