summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Engström <henrik.engstrom@sonymobile.com>2012-11-29 15:29:35 +0100
committerHenrik Baard <henrik.baard@sonymobile.com>2013-01-09 09:27:59 +0100
commit6393b07134f99ee827ebac2d339b0f5449addb0b (patch)
tree72c0b5051d567085049635f8ad023855ec981b49
parent9fae2ecc5fb777230bde74e4a099fb4e98bf34b4 (diff)
downloadframeworks_base-6393b07134f99ee827ebac2d339b0f5449addb0b.zip
frameworks_base-6393b07134f99ee827ebac2d339b0f5449addb0b.tar.gz
frameworks_base-6393b07134f99ee827ebac2d339b0f5449addb0b.tar.bz2
Fix possible integer overflow in MtpStorage
When converting the MB value MtpReserveSpace value to bytes there is a possible integer overflow since 3 integer values are multiplied, even though the result is stored in a long variable. This would be visible when the value is more than 2 GB. This is solved by making the constants longs instead of ints. Change-Id: I799129f7076a6e331cece17b5c05aed210499648
-rw-r--r--media/java/android/mtp/MtpStorage.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/media/java/android/mtp/MtpStorage.java b/media/java/android/mtp/MtpStorage.java
index 9cf65a3..e20eabc 100644
--- a/media/java/android/mtp/MtpStorage.java
+++ b/media/java/android/mtp/MtpStorage.java
@@ -39,7 +39,7 @@ public class MtpStorage {
mStorageId = volume.getStorageId();
mPath = volume.getPath();
mDescription = context.getResources().getString(volume.getDescriptionId());
- mReserveSpace = volume.getMtpReserveSpace() * 1024 * 1024;
+ mReserveSpace = volume.getMtpReserveSpace() * 1024L * 1024L;
mRemovable = volume.isRemovable();
mMaxFileSize = volume.getMaxFileSize();
}