From a6de89e79ca51535f92e38cd7b87fdfe32425c77 Mon Sep 17 00:00:00 2001 From: Marc Blank Date: Thu, 3 Mar 2011 16:54:05 -0800 Subject: [PATCH] Harden Device.getDeviceId() * If we read a null deviceName, delete the file and create a new one. Bug: 3506362 Change-Id: Ida670db2f4b75cb9c94636a0af541ae5df50addf --- emailcommon/src/com/android/emailcommon/Device.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/emailcommon/src/com/android/emailcommon/Device.java b/emailcommon/src/com/android/emailcommon/Device.java index a93a17a2e..fb9847fa8 100644 --- a/emailcommon/src/com/android/emailcommon/Device.java +++ b/emailcommon/src/com/android/emailcommon/Device.java @@ -59,9 +59,16 @@ public class Device { rdr = new BufferedReader(new FileReader(f), 128); id = rdr.readLine(); rdr.close(); - // STOPSHIP Remove logging - Log.w(Logging.LOG_TAG, "deviceId read as: " + id); - return id; + if (id == null) { + // It's very bad if we read a null device id; let's delete that file + if (!f.delete()) { + Log.e(Logging.LOG_TAG, "Can't delete null deviceName file; try overwrite."); + } + } else { + // STOPSHIP Remove logging + Log.w(Logging.LOG_TAG, "deviceId read as: " + id); + return id; + } } else { Log.w(Logging.LOG_TAG, f.getAbsolutePath() + ": File exists, but can't read?" + " Trying to remove.");