* arm.cc (Target_arm::do_finalize_sections): Create attribute
section if it does not already exist. * attributes.cc (Attributes_section_data::Attributes_section_data): Don't crash if size is zero.
This commit is contained in:
parent
135b9c78b2
commit
ca419a6f33
3 changed files with 13 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2010-02-23 Viktor Kutuzov <vkutuzov@accesssoftek.com>
|
||||
|
||||
* arm.cc (Target_arm::do_finalize_sections): Create attribute
|
||||
section if it does not already exist.
|
||||
* attributes.cc (Attributes_section_data::Attributes_section_data):
|
||||
Don't crash if size is zero.
|
||||
|
||||
2010-02-23 Viktor Kutuzov <vkutuzov@accesssoftek.com>
|
||||
Ian Lance Taylor <iant@google.com>
|
||||
|
||||
|
|
|
@ -7554,6 +7554,11 @@ Target_arm<big_endian>::do_finalize_sections(
|
|||
const Input_objects* input_objects,
|
||||
Symbol_table* symtab)
|
||||
{
|
||||
// Create an empty uninitialized attribute section if we still don't have it
|
||||
// at this moment.
|
||||
if (this->attributes_section_data_ == NULL)
|
||||
this->attributes_section_data_ = new Attributes_section_data(NULL, 0);
|
||||
|
||||
// Merge processor-specific flags.
|
||||
for (Input_objects::Relobj_iterator p = input_objects->relobj_begin();
|
||||
p != input_objects->relobj_end();
|
||||
|
|
|
@ -278,7 +278,7 @@ Attributes_section_data::Attributes_section_data(
|
|||
|
||||
const unsigned char *p = view;
|
||||
p = view;
|
||||
if (*(p++) == 'A')
|
||||
if (size > 0 && p != NULL && *(p++) == 'A')
|
||||
{
|
||||
size--;
|
||||
while (size > 0)
|
||||
|
|
Loading…
Reference in a new issue