pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/43422?usp=email )
Change subject: sua: sua_addr_parse_part(): Propagate failure from sua_parse_gt() ......................................................................
sua: sua_addr_parse_part(): Propagate failure from sua_parse_gt()
As a result, addresses with > 31 digits would be silently trimmed and accepted.
Also, remove the par_datalen check, sua_parse_gt() already takes care of it.
Change-Id: Ia9d33d313b272e5b230be68eccb8e14ff739d9a4 --- M src/sua.c 1 file changed, 1 insertion(+), 2 deletions(-)
Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved
diff --git a/src/sua.c b/src/sua.c index 0784b61..f3ed921 100644 --- a/src/sua.c +++ b/src/sua.c @@ -857,9 +857,8 @@ out->presence |= OSMO_SCCP_ADDR_T_SSN; break; case SUA_IEI_GT: - if (par_datalen < 8) + if (sua_parse_gt(&out->gt, par->data, par_datalen) < 0) goto subpar_fail; - sua_parse_gt(&out->gt, par->data, par_datalen); out->presence |= OSMO_SCCP_ADDR_T_GT; break; case SUA_IEI_IPv4: