Skip to content

base-sim: fix length when reading GID1/GID2

We were attempting to read 15 bytes unconditionally, regardless of the size of the EF_gid1 and EF_gid2 files.

This operation would succeed in some SIM cards even if the actual file lengths are shorter:

AT+CRSM=176,28478,0,0,15 +CRSM: 144,0,"FFFF" OK

But the operation would fail in some other SIM cards due to the length mismatch:

AT+CRSM=176,28478,0,0,15 +CRSM: 103,0 OK

Using 0 as requested length instructs the modem to read the length specified in the EF status information, which is also the same approach we do in QMI and MBIM.

AT+CRSM=176,28478,0,0,0 +CRSM: 144,0,"FFFF" OK

Merge request reports