diff --git a/dom/system/gonk/ril_worker.js b/dom/system/gonk/ril_worker.js index 78112560986..ed5ee068521 100644 --- a/dom/system/gonk/ril_worker.js +++ b/dom/system/gonk/ril_worker.js @@ -10974,21 +10974,17 @@ let ICCRecordHelper = { } Buf.readStringDelimiter(strLen); - if (pbrTlvs.length === 0) { - let error = onerror || debug; - error("Cannot access Phonebook."); - return; + if (pbrTlvs.length > 0) { + let pbr = ICCUtilsHelper.parsePbrTlvs(pbrTlvs); + // EF_ADN is mandatory if and only if DF_PHONEBOOK is present. + if (!pbr.adn) { + let error = onerror || debug; + error("Cannot access ADN."); + return; + } + pbrs.push(pbr); } - let pbr = ICCUtilsHelper.parsePbrTlvs(pbrTlvs); - // EF_ADN is mandatory if and only if DF_PHONEBOOK is present. - if (!pbr.adn) { - let error = onerror || debug; - error("Cannot access ADN."); - return; - } - pbrs.push(pbr); - if (options.p1 < options.totalRecords) { ICCIOHelper.loadNextRecord(options); } else { @@ -12414,6 +12410,11 @@ let ICCContactHelper = { let gotPbrCb = function gotPbrCb(pbrs) { let pbrIndex = Math.floor(contact.recordId / ICC_MAX_LINEAR_FIXED_RECORDS); let pbr = pbrs[pbrIndex]; + if (!pbr) { + let error = onerror || debug; + error("Cannot access Phonebook."); + return; + } this.updatePhonebookSet(pbr, contact, onsuccess, onerror); }.bind(this);