aboutsummaryrefslogtreecommitdiff
path: root/gold/descriptors.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2009-03-19 19:02:53 +0000
committerIan Lance Taylor <ian@airs.com>2009-03-19 19:02:53 +0000
commit604399204f1a6e09056023af6d315dc25e8c6963 (patch)
treebb3b9dc06aa3ca86e7899cefb97e35d318905073 /gold/descriptors.cc
parent16ad93705cfed2630f48ba44b7dde9d20a4c6f44 (diff)
downloadfsf-binutils-gdb-604399204f1a6e09056023af6d315dc25e8c6963.zip
fsf-binutils-gdb-604399204f1a6e09056023af6d315dc25e8c6963.tar.gz
fsf-binutils-gdb-604399204f1a6e09056023af6d315dc25e8c6963.tar.bz2
* descriptors.cc (Descriptors::open): Check that the options are
valid before using them.
Diffstat (limited to 'gold/descriptors.cc')
-rw-r--r--gold/descriptors.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gold/descriptors.cc b/gold/descriptors.cc
index 6937741..b05bdf1 100644
--- a/gold/descriptors.cc
+++ b/gold/descriptors.cc
@@ -130,7 +130,9 @@ Descriptors::open(int descriptor, const char* name, int flags, int mode)
// header file but not supported by the kernel.
// Unfortunately there doesn't seem to be any obvious way to
// detect that, as unknown flags passed to open are ignored.
- if (O_CLOEXEC == 0 && parameters->options().has_plugins())
+ if (O_CLOEXEC == 0
+ && parameters->options_valid()
+ && parameters->options().has_plugins())
fcntl(new_descriptor, F_SETFD, FD_CLOEXEC);
{