Fix memory access violations triggered by running readelf on fuzzed binaries.
[external/binutils.git] / binutils / ChangeLog
1 2015-02-03  Nick Clifton  <nickc@redhat.com>
2
3         PR binutils/17531
4         * dwarf.c (process_debug_info): Add range check.
5         (display_debug_pubnames_worker): Likewise.
6         (display_gdb_index): Fix range check.
7         (process_cu_tu_index): Add range check.
8         * readelf.c (get_data): Change parameter types from size_t to
9         bfd_size_type.  Add checks for loss of accuracy when casting from
10         bfd_size_type to size_t.
11         (get_dynamic_data): Likewise.
12         (process_section_groups): Limit number of error messages.
13
14 2015-02-03  Nick Clifton  <nickc@redhat.com>
15
16         PR binutils/17512
17         * objdump.c (display_any_bfd): Fail if archives nest too deeply.
18
19 2015-01-28  James Bowman  <james.bowman@ftdichip.com>
20
21         * readelf.c: Add FT32 support.
22
23 2015-01-27  Nick Clifton  <nickc@redhat.com>
24
25         PR binutils/17512
26         * dlltool.c (identify_search_archive): If the last archive was the
27         same as the current archive, terminate the loop.
28
29         * addr2line.c (slurp_symtab): If the symcount is zero, free the
30         symbol table pointer.
31
32         * rcparse.y: Add checks to avoid integer divide by zero.
33         * rescoff.c (read_coff_rsrc): Add check on the size of the
34         resource section.
35         (read_coff_res_dir): Add check on the nesting level.
36         Check for resource names overrunning the buffer.
37         * resrc.c (write_rc_messagetable): Update formatting.
38         Add check of 'elen' being zero.
39
40 2015-01-23  Nick Clifton  <nickc@redhat.com>
41
42         * nlmconv.c (powerpc_mangle_relocs): Fix build errors introduced
43         by recent delta, when compiling on for a 32-bit host.
44
45 2015-01-21  Nick Clifton  <nickc@redhat.com>
46
47         PR binutils/17512
48         * addr2line.c (main): Call bfd_set_error_program_name.
49         * ar.c (main): Likewise.
50         * coffdump.c (main): Likewise.
51         * cxxfilt.c (main): Likewise.
52         * dlltool.c (main): Likewise.
53         * nlmconv.c (main): Likewise.
54         * nm.c (main): Likewise.
55         * objdump.c (main): Likewise.
56         * size.c (main): Likewise.
57         * srconv.c (main): Likewise.
58         * strings.c (main): Likewise.
59         * sysdump.c (main): Likewise.
60         * windmc.c (main): Likewise.
61         * windres.c (main): Likewise.
62         * objcopy.c (main): Likewise.
63         (copy_relocations_in_section): Check for relocs without associated
64         symbol pointers.
65
66 2015-01-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
67
68         * MAINTAINERS: Add self to ARM maintainers list.
69
70 2015-01-21  Nick Clifton  <nickc@redhat.com>
71
72         PR binutils/17512
73         * coffgrok.c (do_type): Check that computed ref exists.
74         (doit): Add range checks when computing section for scope.
75
76 2015-01-12  H.J. Lu  <hongjiu.lu@intel.com>
77
78         * dwarf.c (process_debug_info): Properly check abbrev size.
79
80 2015-01-12  Nick Clifton  <nickc@redhat.com>
81
82         PR binutils/17531
83         * dwarf.c (process_debug_info): Check for abbrev_base being larger
84         than the section size.
85         (process_cu_tu_index): Use xcalloc2 to allocate the CU and TU
86         arrays.
87         (xcalloc2): New function.  Like xcalloc, but checks for overflow.
88         (display_debug_addr): Use xcalloc to allocate the debug_addr_info
89         array.  Check for an address_base that is too large.
90
91         * dwarf.h (xcalloc2): Prototype.
92
93 2015-01-12  Alan Modra  <amodra@gmail.com>
94
95         * prdbg.c (print_debugging_info): Don't use void* for function
96         pointer param.
97         * budbg.h (print_debugging_info): Update prototype.
98
99 2015-01-08  Nick Clifton  <nickc@redhat.com>
100
101         PR binutils/17512
102         * ojcopy.c (copy_object): Free the symbol table if no symbols
103         could be loaded.
104         (copy_file): Use bfd_close_all_done to close files that could not
105         be copied.
106
107         * sysdump.c (getINT): Fail if reading off the end of the buffer.
108         Replace call to abort with a call to fatal.
109         (getCHARS): Prevetn reading off the end of the buffer.
110
111         * nlmconv.c (i386_mangle_relocs): Skip relocs without an
112         associated symbol.
113         (powerpc_mangle_relocs): Skip unrecognised relocs.  Check address
114         range before applying a reloc.
115
116 2015-01-07  Nick Clifton  <nickc@redhat.com>
117
118         PR binutils/17512
119         * dlltool.c (scan_obj_file): Break loop if the last archive
120         displayed matches the current archive.
121
122         * objdump.c (display_any_bfd): Add a depth limit to nested archive
123         display in order to avoid infinite loops.
124         * srconv.c: Replace calls to abort with calls to fatal with an
125         error message.
126
127 2015-01-06  Nick Clifton  <nickc@redhat.com>
128
129         PR binutils/17512
130         * coffdump.c (dump_coff_section): Check for a symbol being
131         available before printing its name.
132         (main): Check the return value from coff_grok.
133         * coffgrok.c: Reformat and tidy.
134         Add range checks to most functions.
135         (coff_grok): Return NULL if the input bfd is not in a COFF
136         format.
137         * coffgrok.h: Reformat and tidy.
138         (struct coff_section): Change the nrelocs field to unsigned.
139         * srconv.c (main): Check the return value from coff_grok.
140
141 2015-01-05  Nick Clifton  <nickc@redhat.com>
142
143         PR binutils/17512
144         * nm.c (print_symbol): Add 'is_synthetic' parameter.  Use it to
145         help initialize the info.elfinfo field.
146         (print_size_symbols): Add 'synth_count' parameter.  Use it to set
147         the is_synthetic parameter when calling print_symbol.
148         (print_symbols): Likewise.
149         (display_rel_file): Pass synth_count to printing function.
150         (display_archive): Break loop if the last archive displayed
151         matches the current archive.
152         * size.c (display_archive): Likewise.
153
154 2015-01-05  Nick Clifton  <nickc@redhat.com>
155
156         PR binutils/17531
157         * dwarf.c (alloc_num_debug_info_entries): New variable.
158         (process_debug_info): Set it.  Use it to avoid displaying
159         attributes for which there is no info.
160         (display_debug_abbrev): Check that the debug_info_entry index is
161         valid before using it.
162         (display_loc_list_dwo): Likewise.
163         (process_cu_tu_index): Add range check for an overlarge dw_sect
164         value.
165         (free_debug_memory): Reset alloc_num_debug_info_entries.
166         * readelf.c (slurp_ia64_unwind_table): Warn if the reloc could not
167         be indentified.
168         (dynamic_section_mips_val): Warn if the timestamp is invalid.
169         (print_mips_got_entry): Add a data_end parameter.  Warn if a read
170         would go beyond the end of the data, and return an error value.
171         (process_mips_specific): Do not read options from beyond the end
172         of the section.
173         Correct code to display optional data at the end of an option.
174         Warn if there are too many GOT symbols.
175         Update calls to print_mips_got_entry, and handle error returns.
176
177 2015-01-05  Daniel Klauer  <daniel.c.klauer@web.de>
178
179         PR binutils/17489
180         * doc/binutils.texi (dlltool): Correct description of --kill-at
181         option.
182
183 2015-01-01  Alan Modra  <amodra@gmail.com>
184
185         * version.c (print_version): Just print current year.
186
187 2015-01-01  Alan Modra  <amodra@gmail.com>
188
189         Update year range in copyright notice of all files.
190
191 For older changes see ChangeLog-2014
192 \f
193 Copyright (C) 2015 Free Software Foundation, Inc.
194
195 Copying and distribution of this file, with or without modification,
196 are permitted in any medium without royalty provided the copyright
197 notice and this notice are preserved.
198
199 Local Variables:
200 mode: change-log
201 left-margin: 8
202 fill-column: 74
203 version-control: never
204 End: