* archive.cc (Archive::include_member): Unlock an external member

of a thin archive.  Don't bother to delete an object we know is
	NULL.
This commit is contained in:
Ian Lance Taylor 2010-07-13 07:56:08 +00:00
parent 2ef36331d2
commit f2d707b5bb
2 changed files with 14 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2010-07-13 Ian Lance Taylor <iant@google.com>
* archive.cc (Archive::include_member): Unlock an external member
of a thin archive. Don't bother to delete an object we know is
NULL.
2010-07-12 Cary Coutant <ccoutant@google.com>
* compressed_output.cc (zlib_decompress): New function.

View File

@ -853,11 +853,7 @@ Archive::include_member(Symbol_table* symtab, Layout* layout,
&& this->searched_for()
&& obj == NULL
&& unconfigured)
{
if (obj != NULL)
delete obj;
return false;
}
return false;
if (obj == NULL)
return true;
@ -874,7 +870,13 @@ Archive::include_member(Symbol_table* symtab, Layout* layout,
}
if (!input_objects->add_object(obj))
delete obj;
{
// If this is an external member of a thin archive, unlock the
// file.
if (obj->offset() == 0)
obj->unlock(this->task_);
delete obj;
}
else
{
{