[erlang-bugs] ASN.1 encoder does not check constraint
Niclas Eklund
nick@REDACTED
Tue Jul 14 11:12:57 CEST 2009
Hello!
Thanks for reporting this!
/Niclas @ Erlang/OTP
On Fri, 10 Jul 2009, Maxim Treskin wrote:
> Hello
> I found situation when ASN.1 runtime encoder does not check constraint:
>
> The Number defined in StructA.asn as:
>
> Number ::= OCTET STRING (SIZE(minNumberLength..maxNumberLength))
> minNumberLength INTEGER ::= 1
> maxNumberLength INTEGER ::= 5
>
>
> Then in StructB.asn Number is imported, and used as:
>
> Data ::= SEQUENCE
> {
> version [0] INTEGER,
> number [1] Number
> }
>
> So, after compilation of this two asn-files we have encoder module for
> StructB, but this encoder does not check Number size constraint:
>
> 1> 'StructB':encode('Data', {'Data', 1, "34"}).
> {ok,[48,7,128,1,1,129,2,51,52]}
> 2> 'StructB':encode('Data', {'Data', 1, ""}).
> {ok,[48,5,128,1,1,129,0]}
> 3> 'StructB':encode('Data', {'Data', 1, "3444455555554"}).
> {ok,[48,18,128,1,1,129,13,51,52,52,52,52,53,53,53,53,53,53, 53,52]}
>
>
> Thank you
>
> --
> Maxim Treskin
>
More information about the erlang-bugs
mailing list