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