Serge Lamikhov-Center
013cc2f9db
Move Visual C++ projects to VS 2019
2019-04-19 14:02:31 +03:00
Gleb Struchalin
a314b28193
Replaced tabs by spaces
2019-04-19 13:55:00 +03:00
Gleb Struchalin
925af0d3d5
Added overload to elfio::save which accepts std::ostream
2019-04-19 13:55:00 +03:00
Gleb Struchalin
e64acb2b2e
Added parentheses in ELF64_R_INFO macro for 's' parameter
2019-04-19 13:55:00 +03:00
Vinicius Rangel
350008420f
dynamic_section_accessor#add_entry params updated
...
Changed useless by-reference params to by-value
which forbids number literals (i.e. DT_*)
Added missing const keyword to std::string& parameter
2019-04-19 09:24:40 +03:00
Serge Lamikhov-Center
cb3bd43ca5
Avoid warning regarding incompatible integer types
2018-11-03 18:11:32 +02:00
Serge Lamikhov-Center
52872c4c86
Update the current version of the library and add GitHub link
2018-11-03 18:00:33 +02:00
Serge Lamikhov-Center
2699ef4a52
Remove ELFIOTest from release package
2018-11-03 00:07:41 -07:00
Serge Lamikhov-Center
79b241e87f
Add automake generated test-driver
2018-11-02 23:26:56 -07:00
Serge Lamikhov-Center
d98e824ed6
Return back Makefile.in files. The intention is that configure/make pair will work without additional automake invocation
2018-11-02 23:12:26 -07:00
Serge Lamikhov-Center
56920af2bc
Use newer version of autotools
2018-11-02 22:58:29 -07:00
Alex Voicu
9f1e1ae164
Fix alignment.
2018-11-02 23:16:14 +02:00
Alex Voicu
144946f753
Add support for AMDGPU specific ELF bits.
2018-11-02 23:16:14 +02:00
Serge Lamikhov-Center
9461ce1167
Fix "Call to virtual function during construction". Thanks to Pavel Kryukov
2018-11-02 23:05:26 +02:00
Serge Lamikhov-Center
a1096d22d8
Increment release version to 3.3
2018-11-02 22:42:18 +02:00
Pavel I. Kryukov
e4abc190d6
Cast -1 to Elf_Half explicitly to suppress Visual Studio warning
2018-08-25 22:41:06 +03:00
Pavel I. Kryukov
6a2e8c78b0
Avoid hiding local variable by another local variable in elfio::load_sections
2018-08-25 22:40:00 +03:00
Jingxuan He
4b9ff89770
modify get_ordered_segments
2018-05-05 19:32:49 +03:00
Tobias Klauser
37ebcd91b8
Fix two gcc -Wignored-qualifiers warnings
...
Fix the following two gcc warnings:
elfio/elfio_section.hpp:50:36: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
const size_t get_stream_size() const
^
elfio/elfio_segment.hpp:99:23: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
get_stream_size() const
2018-05-05 19:30:09 +03:00
Serge Lamikhov-Center
1fdbb64235
Change VS projects to use VS2017 and Boost 1.65.1
2017-10-05 10:25:30 +03:00
alvaro
5454dcb733
Add crashes files
2017-10-04 20:47:51 +03:00
alvaro
bc5f17b0fc
Fix more NULL dereferences
...
Crash 7d695153fd8052529d480c2352d4ada33a44bada
2017-10-04 20:47:51 +03:00
alvaro
abab994411
Fix NULL deference for no ELF files
...
Fix crash 060833f08dc14d1712428742b3cad7af17b36bb7
2017-10-04 20:47:51 +03:00
alvaro
bd5f2128ae
Check size for segment
...
Fix crash b82f05b0b25c8fdc98480e6d76b6d5f9164ae2bc
Running: crash-b82f05b0b25c8fdc98480e6d76b6d5f9164ae2bc
==2850==WARNING: AddressSanitizer failed to allocate 0x400000004000001 bytes
==2850==AddressSanitizer's allocator is terminating the process instead of returning 0
==2850==If you don't like this behavior set allocator_may_return_null=1
==2850==AddressSanitizer CHECK failed: /home/alvaro/tools/llvm/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc:22
1 "((0)) != (0)" (0x0, 0x0)
2017-10-04 20:47:51 +03:00
alvaro
1a3cb25a7c
Fix oob read terminating data with 0
...
Fix crash e3c41070342cf84dea077356ddbb8ebf4326a601
==12073==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6110000003bb at pc 0x0000004c234c bp 0x7fcf6359ec30 sp 0x7fcf6359e3
e0
READ of size 11 at 0x6110000003bb thread T0
#0 0x4c234b in __interceptor_strlen.part.30 /home/alvaro/tools/llvm/llvm/projects/compiler-rt/lib/asan/../sanitizer_common/sanitize
r_common_interceptors.inc:301
#1 0x7165e6579d87 in std::char_traits<char>::length(char const*) /build/gcc-multilib/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3
/include/bits/char_traits.h:269
#2 0x7165e6579d87 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std
::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.h:495
#3 0x5c3333 in ELFIO::elfio::load_sections(std::istream&) /home/alvaro/fuzzers/elfio/ELFIO/examples/libfuzzer/../../elfio/elfio.hpp
:413:44
2017-10-04 20:47:51 +03:00
alvaro
39f8614f17
Added stream_size into section
...
This will allow to perform some security checks when reading size values
from ELF file
Fix crash e1ce7cecf01cf800397a4302854d9d76fa19763c
2017-10-04 20:47:51 +03:00
Vašek Potoček
972f89e022
Better support for read-only ELF access
2017-10-04 20:33:10 +03:00
Vašek Potoček
ced83b14be
More 386 relocation types
2017-10-04 20:15:53 +03:00
Serge Lamikhov-Center
fbf8eafc2d
Permit updating of e_version field of ELF header
2017-03-28 00:35:17 +03:00
Martin Bickel
b4127676ba
Fix calculation of section alignment
2017-03-06 22:28:46 +02:00
Martin Bickel
a638f47edc
new testcase for read/save sequence
2017-03-06 22:28:46 +02:00
Martin Bickel
e838986dae
remove Makefile.in from version control, they are generated files
2017-03-06 22:28:46 +02:00
Martin Bickel
728a2b6523
Replace broken reference ELF file for testing
...
The existing ELF file was somehow seriously broken.
It's now replaced with the file generated by the current code of
ELFio, which seems to be working correctly.
So the test now serves as a regression test for future
changes.
2017-03-06 22:28:46 +02:00
Martin Bickel
65335f6a75
Integrate tests into automake
2017-03-06 22:28:46 +02:00
Martin Bickel
a2cd870eb9
Added tool for anonymizing ELF files
2017-03-06 22:28:46 +02:00
Martin Bickel
9e787dcf1e
Additional assertions to prevent crashes
2017-03-06 22:28:46 +02:00
Martin Bickel
3385408d6b
Rephrase condition of is_sect_in_seg() to make it more intuitive
2017-03-06 22:28:46 +02:00
Martin Bickel
fe78d06e81
Segment align updated when saving, not loading
...
After loading, the data model in memory should resemble the original ELF file as closely as possible,
so that ELF viewers based on elfio will print out the original values, not the calculated ones.
2017-02-18 19:25:21 +02:00
Martin Bickel
6c19078803
Fixed section to segment mapping for 0-length sections
2017-02-18 19:25:21 +02:00
Martin Bickel
6dad943222
Tests now use distinct output files, allowing for better post test analysis
2017-01-16 20:38:37 +02:00
Martin Bickel
d800c7b295
When saving a previously loaded ELF file, don't shrink segments' memory size
2017-01-16 20:38:37 +02:00
Martin Bickel
213dbedac2
Add sanity check when calculating alignment
2017-01-16 20:38:37 +02:00
Martin Bickel
fb5ec079ba
new method for validating the loaded ELF file
2017-01-16 20:38:37 +02:00
Martin Bickel
d0cb172474
Expose getter for section.offset
2017-01-16 20:38:37 +02:00
Martin Bickel
a0de1960d6
Check for errors when loading segments
2017-01-16 20:38:37 +02:00
Serge Lamikhov-Center
878247108f
Ignore sections of zero size. Thanks to Martin Bickel
2016-12-20 20:11:20 +02:00
Tobias Klauser
446e0c215c
elfio_note: fix MSVC compiler warning
...
Fix the following MSVC compiler warning:
elfio/elfio_note.hpp(77): warning C4267: 'initializing' : conversion from 'size_t' to 'ELFIO::Elf_Word', possible loss of data
by changing the type of max_name_sizei to Elf_Xword, as
note_secton->get_size() returns Elf_Xword and note_start_positions also
contains members of type Elf_Xword.
2016-10-06 12:07:20 +02:00
Tobias Klauser
af4140a122
elfio: don't cast away const qualifiers
...
Don't cast away const qualifiers when accessing const data (e.g. section
data). This fixes the warnings such as the following when compiling with
GCC and the -Wcast-qual flag set:
warning: cast from type ‘const char*’ to type ‘ELFIO::Elf_Word* {aka unsigned int*}’ casts away qualifiers [-Wcast-qual]
2016-09-22 23:22:39 +03:00
Yutetsu TAKATSUKASA
fb26cf1002
resolve compiler warning by "-Wsign-compare"
2016-09-18 10:44:16 +09:00
Serge Lamikhov-Center
9f9407d301
Adjust test to the changes done for note section
2016-07-10 17:48:46 +03:00