aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/src
diff options
context:
space:
mode:
authorSimon Cornish <[email protected]>2014-11-18 15:31:34 -0800
committerSimon Cornish <[email protected]>2014-11-24 10:38:34 -0800
commitd9fb74bdb85527be7a06aec735716b1a9ede7abb (patch)
tree1d1bc89244b4559c117de594b022fe68c0e4522c /lib/asn1/src
parent0261f3bf644f97460aa92895d922376c362ee2b6 (diff)
downloadotp-d9fb74bdb85527be7a06aec735716b1a9ede7abb.tar.gz
otp-d9fb74bdb85527be7a06aec735716b1a9ede7abb.tar.bz2
otp-d9fb74bdb85527be7a06aec735716b1a9ede7abb.zip
Fix IMPLICIT tagging when TagDefault is AUTOMATIC
This patch fixes a bug with compliance to X.680 (200811) s31.2.7 Basically, when TagDefault is AUTOMATIC then tags are IMPLICIT unless EXPLICIT is given.
Diffstat (limited to 'lib/asn1/src')
-rw-r--r--lib/asn1/src/asn1ct_check.erl2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/asn1/src/asn1ct_check.erl b/lib/asn1/src/asn1ct_check.erl
index 5d8740b92e..45f1d3a8c9 100644
--- a/lib/asn1/src/asn1ct_check.erl
+++ b/lib/asn1/src/asn1ct_check.erl
@@ -6581,6 +6581,8 @@ merge_tags2([T1= #tag{type='IMPLICIT'}, T2 |Rest], Acc) ->
merge_tags2([T1#tag{type=T2#tag.type, form=T2#tag.form}|Rest],Acc);
merge_tags2([T1= #tag{type={default,'IMPLICIT'}}, T2 |Rest], Acc) ->
merge_tags2([T1#tag{type=T2#tag.type, form=T2#tag.form}|Rest],Acc);
+merge_tags2([T1= #tag{type={default,'AUTOMATIC'}}, T2 |Rest], Acc) ->
+ merge_tags2([T1#tag{type=T2#tag.type, form=T2#tag.form}|Rest],Acc);
merge_tags2([H|T],Acc) ->
merge_tags2(T, [H|Acc]);
merge_tags2([], Acc) ->