aboutsummaryrefslogtreecommitdiff
path: root/rmi4update/firmware_image.cpp
diff options
context:
space:
mode:
authorAndrew Duggan <aduggan@synaptics.com>2015-03-16 11:37:52 -0700
committerAndrew Duggan <aduggan@synaptics.com>2015-03-16 11:37:52 -0700
commit1bf175e042630bdb13de83622ce67ca3f3cd522d (patch)
treeb916211ab23929842d49f75775fe2cfd476fb5ef /rmi4update/firmware_image.cpp
parentdc8385559de574637738ab6d120e12e27e569a55 (diff)
downloadrmi4utils-1bf175e042630bdb13de83622ce67ca3f3cd522d.tar.gz
Change m_imageSize to signed since it's value is set by the result of tellg and
tellg returns -1 when there is an error. Also, check the result of tellg.
Diffstat (limited to 'rmi4update/firmware_image.cpp')
-rw-r--r--rmi4update/firmware_image.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/rmi4update/firmware_image.cpp b/rmi4update/firmware_image.cpp
index fc1da97..8acc2d6 100644
--- a/rmi4update/firmware_image.cpp
+++ b/rmi4update/firmware_image.cpp
@@ -53,7 +53,10 @@ int FirmwareImage::Initialize(const char * filename)
return UPDATE_FAIL_OPEN_FIRMWARE_IMAGE;
ifsFile.seekg(0, ios::end);
- m_imageSize = (unsigned long)ifsFile.tellg();
+ m_imageSize = ifsFile.tellg();
+ if (m_imageSize < 0)
+ return UPDATE_FAIL_OPEN_FIRMWARE_IMAGE;
+
m_memBlock = new unsigned char[m_imageSize];
ifsFile.seekg(0, ios::beg);
ifsFile.read((char*)m_memBlock, m_imageSize);