pespin submitted this change.
gsup: Fix rx of AuthInfoReq without IP addr val
The var PdpAddress was being reassigned and erlang crashed when running
ttcn3-epdg-test with:
"""
{{badmatch,#{ipv4 => <<0,0,0,0>>}},[{gsup_server,rx_gsup,3,
[{file,"/tmp/osmo-epdg/src/gsup_server.erl"},{line,308}]},
{misc,'-spawn_wait_ret/2-fun-0-',2,
[{file,"/tmp/osmo-epdg/src/misc.erl"},{line,43}]}]}
"""
Fixes: 2d2e43c061652ae6c9fd409e9badc33d5d66e068
Change-Id: Iaa4b45a00e472a324ad98f57a54db04454935130
---
M src/gsup_server.erl
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/gsup_server.erl b/src/gsup_server.erl
index c4c28cf..256522e 100644
--- a/src/gsup_server.erl
+++ b/src/gsup_server.erl
@@ -296,13 +296,14 @@
case maps:find(pdp_info_list, GsupMsgRx) of
{ok, [PdpInfo]} ->
#{pdp_context_id := _PDPCtxId,
- pdp_address := #{address := PdpAddress,
+ pdp_address := #{address := PdpAddressRx,
pdp_type_nr := PdpTypeNr,
pdp_type_org := 241},
access_point_name := Apn
} = PdpInfo,
- case maps:is_key(ipv4,PdpAddress) or maps:is_key(ipv6,PdpAddress) of
- true -> ok; %% Address received so do nothing
+ case maps:is_key(ipv4,PdpAddressRx) or maps:is_key(ipv6,PdpAddressRx) of
+ true -> %% Address received, use it
+ PdpAddress = PdpAddressRx;
false -> %% No address received from strongswan, use a default value
PdpTypeNr = ?GTP_PDP_ADDR_TYPE_NR_IPv4,
PdpAddress = #{ipv4 => <<0,0,0,0>>}
To view, visit change 40297. To unsubscribe, or for help writing mail filters, visit settings.