The bin-search loop in add_count() assumes nelm*wdth == ulim-llim, but wdth is a rounded quotient so nelm*wdth can be strictly less than ulim-llim. A SGNL value just below ULIM then leaves the loop with i == nelm+1, and pdest = bptr + nelm writes one epicsUInt32 past the nelm-element buffer. This is reachable over Channel Access by putting a value near ULIM to the SGNL field (special SPC_MOD). Clamp the index to nelm. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
EPICS Base
EPICS (Experimental Physics and Industrial Control System) is a set of software tools and applications which provide a software infrastructure for use in building distributed control systems to operate devices such as Particle Accelerators, Large Experiments and major Telescopes. EPICS Base is the central core of the control system toolkit. More details can be found at the About page of the official website
Links
Documentation
Community Communication
Quick Install
Download a release from the Downloads page and unpack it. Inside the unpacked folder run:
make
For more information on how to install on your system see the Installation page of the documentation.
Quick run a softIOC
After building, you can run an example soft-IOC (Input/Output Controller) which runs a Channel Access server.
./bin/*/softIoc -x first
Run the dbl command to list the records it provides:
epics> dbl
first:BaseVersion
first:exit
epics>
Contributing
See CONTRIBUTING.md.
License
EPICS Base is distributed subject to a Software License Agreement found in the file LICENSE that is included with this distribution.