vold: fix 64 bit ioctl error
Changing the num_sectors used in ioctl with BLKGETSIZE because
the kernel expects an unsigned long type and then changes 64 bits
with a 64 bits userspace. This overwrites what's located close to
the parameter location if any.
Change-Id: I78fd61a1084de2741f39b926aa436462518709a0
Signed-off-by: Mateusz Nowak <mateusz.nowak@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
diff --git a/Devmapper.cpp b/Devmapper.cpp
index 703eade..e56a4da 100644
--- a/Devmapper.cpp
+++ b/Devmapper.cpp
@@ -164,7 +164,7 @@
}
int Devmapper::create(const char *name, const char *loopFile, const char *key,
- unsigned int numSectors, char *ubuffer, size_t len) {
+ unsigned long numSectors, char *ubuffer, size_t len) {
char *buffer = (char *) malloc(DEVMAPPER_BUFFER_SIZE);
if (!buffer) {
SLOGE("Error allocating memory (%s)", strerror(errno));