ipa: fix empty IPA CCM ID Tags
decode_ies() would crash because lists:lasts([]) tries to access an
empty lists.
diff --git a/src/ipa_proto_ccm.erl b/src/ipa_proto_ccm.erl
index 27ceba9..87eb15e 100644
--- a/src/ipa_proto_ccm.erl
+++ b/src/ipa_proto_ccm.erl
@@ -82,9 +82,12 @@
decode_ies(<<0:8, Len:8, TypeValue:Len/binary, Remain/binary>>, IeList) when is_list(IeList) ->
<<Type:8, Value/binary>> = TypeValue,
ValueList = binary_to_list(Value),
- case lists:last(ValueList) of
- 0 -> ValueStripped = lists:droplast(ValueList);
- _ -> ValueStripped = ValueList
+ case ValueList of
+ [] -> ValueStripped = [];
+ _ -> case lists:last(ValueList) of
+ 0 -> ValueStripped = lists:droplast(ValueList);
+ _ -> ValueStripped = ValueList
+ end
end,
decode_ies(Remain, IeList ++ [{string, decode_idtag(Type), ValueStripped}]).