summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/simfs.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/simfs.c b/src/simfs.c
index 8e52f7b2..617af149 100644
--- a/src/simfs.c
+++ b/src/simfs.c
@@ -554,7 +554,8 @@ static gboolean sim_fs_op_check_cached(struct sim_fs *fs)
enum ofono_sim_file_structure structure;
int record_length;
- if (imsi == NULL || op->info_only == TRUE)
+ if (imsi == NULL || phase == OFONO_SIM_PHASE_UNKNOWN ||
+ op->info_only == TRUE)
return FALSE;
path = g_strdup_printf(SIM_CACHE_PATH, imsi, phase, op->id);
@@ -836,6 +837,9 @@ char *sim_fs_get_cached_image(struct sim_fs *fs, int id)
return NULL;
phase = ofono_sim_get_phase(fs->sim);
+ if (phase == OFONO_SIM_PHASE_UNKNOWN)
+ return NULL;
+
path = g_strdup_printf(SIM_IMAGE_CACHE_PATH, imsi, phase, id);
TFR(stat(path, &st_buf));
@@ -907,6 +911,9 @@ void sim_fs_check_version(struct sim_fs *fs)
int len;
char *path;
+ if (imsi == NULL || phase == OFONO_SIM_PHASE_UNKNOWN)
+ return;
+
if (read_file(&version, 1, SIM_CACHE_VERSION, imsi, phase) == 1)
if (version == SIM_FS_VERSION)
return;