From 604399204f1a6e09056023af6d315dc25e8c6963 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 19 Mar 2009 19:02:53 +0000 Subject: [PATCH] * descriptors.cc (Descriptors::open): Check that the options are valid before using them. --- gold/ChangeLog | 5 +++++ gold/descriptors.cc | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index 9dd8787befd..96abf8ac132 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2009-03-19 Ian Lance Taylor + + * descriptors.cc (Descriptors::open): Check that the options are + valid before using them. + 2009-03-18 Ian Lance Taylor * script-sections.h: Include . diff --git a/gold/descriptors.cc b/gold/descriptors.cc index 6937741841f..b05bdf1a89d 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); { -- 2.30.2