diff options
author | Guang Zhu <guangzhu@google.com> | 2016-01-30 17:39:17 -0800 |
---|---|---|
committer | Guang Zhu <guangzhu@google.com> | 2016-01-30 17:39:56 -0800 |
commit | 0995dc68291f19f36362640b944191c649468e86 (patch) | |
tree | 3b7359c5f0be7c429562b3d48ff1aa4ea6fdb25d | |
parent | 4c4a6e468c70e7edb1ba4fa58030690f37420fe3 (diff) | |
download | tradefederation-0995dc68291f19f36362640b944191c649468e86.tar.gz |
protect long parsing from NFE
Change-Id: Id766aa68faaea9f6a1f145cac8af1040808e370e
-rw-r--r-- | src/com/android/tradefed/device/TestDevice.java | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/com/android/tradefed/device/TestDevice.java b/src/com/android/tradefed/device/TestDevice.java index ef5647c0a..3703eef0e 100644 --- a/src/com/android/tradefed/device/TestDevice.java +++ b/src/com/android/tradefed/device/TestDevice.java @@ -47,8 +47,8 @@ import com.android.tradefed.util.RunUtil; import com.android.tradefed.util.SizeLimitedOutputStream; import com.android.tradefed.util.StreamUtil; -import java.awt.image.BufferedImage; import java.awt.Image; +import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FilenameFilter; @@ -3217,16 +3217,21 @@ class TestDevice implements IManagedTestDevice { } private long getDeviceTimeOffset(Date date) throws DeviceNotAvailableException { - String deviceTime = executeShellCommand("date +%s"); + String deviceTimeString = executeShellCommand("date +%s"); + Long deviceTime = null; + long offset = 0; + + try { + deviceTime = Long.valueOf(deviceTimeString.trim()); + } catch (NumberFormatException nfe) { + CLog.i("Invalid device time: \"%s\", ignored."); + return 0; + } if (date == null) { date = new Date(); } - long hostTime = date.getTime(); - long offset = 0; - if (deviceTime != null) { - offset = hostTime - (Long.valueOf(deviceTime.trim()) * 1000); - } + offset = date.getTime() - deviceTime * 1000; CLog.d("Time offset = " + offset); return offset; } |