diff options
author | Björn Gustavsson <[email protected]> | 2014-12-01 13:35:04 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-01-12 11:40:28 +0100 |
commit | 1c7802251322ea82ab7a7c5098034a88db69e787 (patch) | |
tree | 98bbab7b16ad68b1f82bb3a1a8db70592674a109 /lib/asn1/test | |
parent | 303fff739a00200a2a2adf3104e80a9e48012563 (diff) | |
download | otp-1c7802251322ea82ab7a7c5098034a88db69e787.tar.gz otp-1c7802251322ea82ab7a7c5098034a88db69e787.tar.bz2 otp-1c7802251322ea82ab7a7c5098034a88db69e787.zip |
BER: Fix ENUMERATED with negative values
The ASN.1 compiler would go into an infinite loop if a value
in an ENUMERATED was negative.
Diffstat (limited to 'lib/asn1/test')
-rw-r--r-- | lib/asn1/test/asn1_SUITE_data/Prim.asn1 | 2 | ||||
-rw-r--r-- | lib/asn1/test/testPrim.erl | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/asn1/test/asn1_SUITE_data/Prim.asn1 b/lib/asn1/test/asn1_SUITE_data/Prim.asn1 index cc0e61422a..b4c011fd39 100644 --- a/lib/asn1/test/asn1_SUITE_data/Prim.asn1 +++ b/lib/asn1/test/asn1_SUITE_data/Prim.asn1 @@ -24,6 +24,8 @@ BEGIN friday(5),saturday(6),sunday(7)} SingleEnumVal ::= ENUMERATED {true} SingleEnumValExt ::= ENUMERATED {true, ...} + NegEnumVal ::= ENUMERATED {neg(-1), ..., zero(0)} + EnumVal128 ::= ENUMERATED {val(128)} ObjId ::= OBJECT IDENTIFIER diff --git a/lib/asn1/test/testPrim.erl b/lib/asn1/test/testPrim.erl index e07379e634..d7893a2d58 100644 --- a/lib/asn1/test/testPrim.erl +++ b/lib/asn1/test/testPrim.erl @@ -98,6 +98,11 @@ enum(Rules) -> ber -> ok end, + + roundtrip('NegEnumVal', neg), + roundtrip('NegEnumVal', zero), + roundtrip('EnumVal128', val), + ok. |