This issue arises because ASP requests and replies are limited to a “quantum size” of 4624 bytes even if the amount requested is larger, and the AppleShare FST relies on this behavior in sizing its buffers. DSI does not have this limitation, so it was returning more data than would fit in the buffer.
Also improve error checking, so an error is reported in cases where the buffer is too small.
This occurred because a global with structure type was declared without the structure definition in scope. ORCA/C allows this, and just treats the struct variable as having size 0. As a result, it effectively shares the storage of whatever comes after it in the OMF file, leading to memory trashing.