sim: handling crash in error scenario for SIM PIN query

In case of error in sim_pin_query_cb function. pin_type is set
to -1. This is causing segmentation fault in function
sim_passwd_name due to invalid index pin_type = -1. Fixing this
issue by handling error case before calling sim_passwd_name
function.
This commit is contained in:
Antara Borwankar 2019-12-19 18:27:49 +05:30 committed by Denis Kenzior
parent f76e1d75d0
commit d90cfdd71c
1 changed files with 3 additions and 1 deletions

View File

@ -3201,7 +3201,7 @@ static void sim_pin_query_cb(const struct ofono_error *error,
DBusConnection *conn = ofono_dbus_get_connection();
const char *path = __ofono_atom_get_path(sim->atom);
struct cached_pin *cpins = pin_cache_lookup(sim->iccid);
const char *pin_name = sim_passwd_name(pin_type);
const char *pin_name;
char **locked_pins;
gboolean lock_changed;
@ -3212,6 +3212,8 @@ static void sim_pin_query_cb(const struct ofono_error *error,
return;
}
pin_name = sim_passwd_name(pin_type);
if (sim->pin_type != pin_type) {
sim->pin_type = pin_type;