[erlang-patches] [PATCH] asn1rt_check: Fix transform_to_EXTERNAL1990 for binary input

Harald Welte <>
Sat Oct 15 22:43:58 CEST 2011

If ber_bin is used, decoded EXTERNAL types will include a binary
Data_value in the {'EXTERNAL', ...} tuple.  When handing such a tuple to
the encoder again, we should properly encode it.

To do so, we treat a binary data part just like a list data part.
 lib/asn1/src/asn1rt_check.erl |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/lib/asn1/src/asn1rt_check.erl b/lib/asn1/src/asn1rt_check.erl
index 24a2a38..1c5ec89 100644
--- a/lib/asn1/src/asn1rt_check.erl
+++ b/lib/asn1/src/asn1rt_check.erl
@@ -313,7 +313,8 @@ transform_to_EXTERNAL1990([Data_val_desc,Data_value],Acc)
   when is_binary(Data_value)->
-transform_to_EXTERNAL1990([Data_value],Acc) when is_list(Data_value)->
+  when is_list(Data_value); is_binary(Data_value) ->

More information about the erlang-patches mailing list