Close fd only if fd != -1
This patch closes fd only if fd != -1. * plugin.c (release_input_file): Set fd to -1 after closing it. (plugin_maybe_claim): Close fd only if fd != -1.
This commit is contained in:
parent
8e2470d34f
commit
119d62ffb8
2 changed files with 11 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2015-02-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* plugin.c (release_input_file): Set fd to -1 after closing it.
|
||||||
|
(plugin_maybe_claim): Close fd only if fd != -1.
|
||||||
|
|
||||||
2015-02-05 H.J. Lu <hongjiu.lu@intel.com>
|
2015-02-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
PR ld/17878
|
PR ld/17878
|
||||||
|
|
|
@ -512,10 +512,13 @@ get_view (const void *handle, const void **viewp)
|
||||||
static enum ld_plugin_status
|
static enum ld_plugin_status
|
||||||
release_input_file (const void *handle)
|
release_input_file (const void *handle)
|
||||||
{
|
{
|
||||||
const plugin_input_file_t *input = handle;
|
plugin_input_file_t *input = (plugin_input_file_t *) handle;
|
||||||
ASSERT (called_plugin);
|
ASSERT (called_plugin);
|
||||||
if (input->fd != -1)
|
if (input->fd != -1)
|
||||||
|
{
|
||||||
close (input->fd);
|
close (input->fd);
|
||||||
|
input->fd = -1;
|
||||||
|
}
|
||||||
return LDPS_OK;
|
return LDPS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -964,7 +967,7 @@ plugin_maybe_claim (struct ld_plugin_input_file *file,
|
||||||
einfo (_("%P%F: %s: plugin reported error claiming file\n"),
|
einfo (_("%P%F: %s: plugin reported error claiming file\n"),
|
||||||
plugin_error_plugin ());
|
plugin_error_plugin ());
|
||||||
|
|
||||||
if (bfd_check_format (entry->the_bfd, bfd_object))
|
if (input->fd != -1 && bfd_check_format (entry->the_bfd, bfd_object))
|
||||||
{
|
{
|
||||||
/* FIXME: fd belongs to us, not the plugin. IR for GCC plugin,
|
/* FIXME: fd belongs to us, not the plugin. IR for GCC plugin,
|
||||||
which doesn't need fd after plugin_call_claim_file, is
|
which doesn't need fd after plugin_call_claim_file, is
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue