summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYabin Cui <yabinc@google.com>2015-12-08 19:25:13 -0800
committerYabin Cui <yabinc@google.com>2015-12-08 19:25:13 -0800
commita5b79fd2c1a255f587859621094c50882ea8c8d1 (patch)
treefef75a726edd2f345c5d188d85433338ee25baa9
parent797116bfb9ad10d858086680c7465d65c399ef6e (diff)
downloadextras-a5b79fd2c1a255f587859621094c50882ea8c8d1.tar.gz
Simpleperf: check value returned by fopen.
Change-Id: Iecddf0b7805ccc2ad930bab2cdfcefa0702e5661
-rw-r--r--simpleperf/read_elf.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/simpleperf/read_elf.cpp b/simpleperf/read_elf.cpp
index 4774ea3f..a7399ce5 100644
--- a/simpleperf/read_elf.cpp
+++ b/simpleperf/read_elf.cpp
@@ -46,7 +46,10 @@ bool IsValidElfPath(const std::string& filename) {
if (!IsRegularFile(filename)) {
return false;
}
- FILE* fp = fopen(filename.c_str(), "rb");
+ FILE* fp = fopen(filename.c_str(), "reb");
+ if (fp == nullptr) {
+ return false;
+ }
char buf[4];
if (fread(buf, 4, 1, fp) != 1) {
fclose(fp);