Harden Device.getDeviceId()

* If we read a null deviceName, delete the file and create a
  new one.

Bug: 3506362
Change-Id: Ida670db2f4b75cb9c94636a0af541ae5df50addf
This commit is contained in:
Marc Blank 2011-03-03 16:54:05 -08:00
parent 4ef0960790
commit a6de89e79c
1 changed files with 10 additions and 3 deletions

View File

@ -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.");