You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are currently running libiec61850 on a ubunu 24.04 x86_64 with kernel 6.11.0, compiled with gcc using ASAN. Our client application is fetching all objects from a server (IedConnection_getLogicalNodeVariables) and then tries to read all data points using IedConnection_readObject.
After successfully reading a bunch of data, IedConnection_readObject returns with IED_ERROR_MALFORMED_MESSAGE resulting from _ASN_STACK_OVERFLOW_CHECK returning -1. While debugging this, I found out, that the OS is changing the stack memory area after certain calls and so the address of asn_codec_ctx_t is very different (> 1 MB) from the address of the pointer. It follows that _ASN_STACK_OVERFLOW_CHECK is not working correctly.
Since there is no possibility to disable _ASN_STACK_OVERFLOW_CHECK without changing the code, I would suggest to make it optional via compile flag or config option. There is already a PR in the orginal asn1c project, which seems to solve the problem: vlm/asn1c#476
Thanks,
Marco
The text was updated successfully, but these errors were encountered:
We are currently running libiec61850 on a ubunu 24.04 x86_64 with kernel 6.11.0, compiled with gcc using ASAN. Our client application is fetching all objects from a server (
IedConnection_getLogicalNodeVariables
) and then tries to read all data points usingIedConnection_readObject
.After successfully reading a bunch of data,
IedConnection_readObject
returns withIED_ERROR_MALFORMED_MESSAGE
resulting from_ASN_STACK_OVERFLOW_CHECK
returning-1
. While debugging this, I found out, that the OS is changing the stack memory area after certain calls and so the address ofasn_codec_ctx_t
is very different (> 1 MB) from the address of the pointer. It follows that_ASN_STACK_OVERFLOW_CHECK
is not working correctly.Since there is no possibility to disable
_ASN_STACK_OVERFLOW_CHECK
without changing the code, I would suggest to make it optional via compile flag or config option. There is already a PR in the orginal asn1c project, which seems to solve the problem: vlm/asn1c#476Thanks,
Marco
The text was updated successfully, but these errors were encountered: