summaryrefslogtreecommitdiff
path: root/tools/perf/util/libbfd.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/libbfd.c')
-rw-r--r--tools/perf/util/libbfd.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/perf/util/libbfd.c b/tools/perf/util/libbfd.c
index 6434c2dccd4a..cc0c474cbfaa 100644
--- a/tools/perf/util/libbfd.c
+++ b/tools/perf/util/libbfd.c
@@ -418,13 +418,18 @@ out_close:
return err;
}
-int libbfd__read_build_id(const char *filename, struct build_id *bid, bool block)
+int libbfd__read_build_id(const char *filename, struct build_id *bid)
{
size_t size = sizeof(bid->data);
int err = -1, fd;
bfd *abfd;
- fd = open(filename, block ? O_RDONLY : (O_RDONLY | O_NONBLOCK));
+ if (!filename)
+ return -EFAULT;
+ if (!is_regular_file(filename))
+ return -EWOULDBLOCK;
+
+ fd = open(filename, O_RDONLY);
if (fd < 0)
return -1;