From: Ian Lance Taylor Date: Thu, 19 Mar 2009 19:02:53 +0000 (+0000) Subject: * descriptors.cc (Descriptors::open): Check that the options are X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=604399204f1a6e09056023af6d315dc25e8c6963;p=binutils-gdb.git * descriptors.cc (Descriptors::open): Check that the options are valid before using them. --- 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); {