am 2646b3a4: Merge "Prevent overflow in LocationRequest.setExpireIn()" into jb-mr1-dev

* commit '2646b3a46af3a24d54acffb1f956deeb6831d3ab':
  Prevent  overflow in LocationRequest.setExpireIn()
This commit is contained in:
Victoria Lease
2012-10-04 17:12:59 -07:00
committed by Android Git Automerger

View File

@@ -369,7 +369,15 @@ public final class LocationRequest implements Parcelable {
* @return the same object, so that setters can be chained
*/
public LocationRequest setExpireIn(long millis) {
mExpireAt = millis + SystemClock.elapsedRealtime();
long elapsedRealtime = SystemClock.elapsedRealtime();
// Check for > Long.MAX_VALUE overflow (elapsedRealtime > 0):
if (millis > Long.MAX_VALUE - elapsedRealtime) {
mExpireAt = Long.MAX_VALUE;
} else {
mExpireAt = millis + elapsedRealtime;
}
if (mExpireAt < 0) mExpireAt = 0;
return this;
}