ts_51_011: fix bitmask compositing in EF_xPLMNwAcT.enc_act()

This commit fixes two problems (found by semgrep):

  * "'foo' and 'bar' in list" is incorrect, because it's interpreted
    as "'foo' and ('bar' in list)".  Strings with a non-zero length
    evaluate to True, thus it's True if at least 'bar' is present.

  * Copy-pasted 'E-UTRAN NB-S1' checked two times.

The first condition is redundant, and the whole block can be
re-implemented using two independent 'if' statements.

Change-Id: Iceb66160cfb571db8879d3810c55d252c763d320
This commit is contained in:
Vadim Yanitskiy
2021-03-07 21:45:34 +01:00
parent 79f5b6080b
commit 5452d64120

View File

@@ -527,12 +527,10 @@ class EF_xPLMNwAcT(TransRecEF):
if 'cdma2000 1xRTT' in in_list:
u16 |= 0x0010
# E-UTRAN
if 'E-UTRAN WB-S1' and 'E-UTRAN NB-S1' in in_list:
u16 |= 0x7000 # WB-S1 and NB-S1
elif 'E-UTRAN NB-S1' in in_list:
u16 |= 0x6000 # only WB-S1
elif 'E-UTRAN NB-S1' in in_list:
u16 |= 0x5000 # only NB-S1
if 'E-UTRAN WB-S1' in in_list:
u16 |= 0x6000
if 'E-UTRAN NB-S1' in in_list:
u16 |= 0x5000
# GSM mess
if 'GSM' in in_list and 'EC-GSM-IoT' in in_list:
u16 |= 0x008C