In iso1EXIDatatypesEncoder.c
there is a flaw with the iso1KeyValueType
encoder (encode_iso1KeyValueType
). The code path that enters } else if ( iso1KeyValueType->ANY_isUsed == 1u ) {
will saturate memory/computational resources.
The condition encodes the contents of iso1KeyValueType->ANY
, loops into case 175:
where it will attempt to encode iso1KeyValueType->ANY
infinitely (by looping back to itself) until encoding finally fails (e.g. ENOMEM
scenario) and errn
is set to a nonzero value.
It appears that iso1KeyInfoType
and iso1SignaturePropertyType
have the same issue.