* 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:
parent
2ef36331d2
commit
f2d707b5bb
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
if (obj == NULL)
|
||||
return true;
|
||||
|
@ -874,7 +870,13 @@ Archive::include_member(Symbol_table* symtab, Layout* layout,
|
|||
}
|
||||
|
||||
if (!input_objects->add_object(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
|
||||
{
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue