ipa: fix empty IPA CCM ID Tags

decode_ies() would crash because lists:lasts([]) tries to access an
empty lists.
This commit is contained in:
Alexander Couzens 2023-07-19 21:48:29 +02:00
parent 794c0d39b6
commit 9f294d3612
1 changed files with 6 additions and 3 deletions

View File

@ -82,9 +82,12 @@ decode_ies(<<1:8, IdTag:8, Remain/binary>>, IeList) when is_list(IeList) ->
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}]).