Commit Graph

258 Commits

Author SHA1 Message Date
Serge Lamikhov-Center
cccc78a37b Add 'explicit' keyword 2022-09-17 09:26:05 +03:00
Serge Lamikhov-Center
f21f8ad533 More refactoring 2022-09-16 20:51:20 +03:00
Serge Lamikhov-Center
b57b08409b More refactoring reported by SonarLint 2022-09-16 20:47:27 +03:00
bladchan
b996977925 fix alloc-dealloc-mismatch reported in ASAN 2022-09-04 21:20:43 +03:00
Serge Lamikhov-Center
5468d90e06 Adapt to the new notes interface 2022-09-01 18:56:29 +03:00
Serge Lamikhov-Center
dd425d83c6 Modernize more files 2022-09-01 18:50:02 +03:00
Serge Lamikhov-Center
bd2673db1f Add missing <array> include 2022-09-01 16:20:42 +03:00
Serge Lamikhov-Center
c22276ec1a Modernize 'segment' implementation 2022-08-31 22:14:32 +03:00
Serge Lamikhov-Center
156cac5fa1 Modernize the section implementation 2022-08-30 19:42:28 +03:00
Serge Lamikhov-Center
af080f739e Use unique_ptr instead of raw pointers 2022-08-29 08:20:07 +03:00
Kamay Xutax
7227a0913f Fix sign-compare error
I just noticed that on my compiler;
probably due to recent version, not sure.
2022-07-18 19:01:22 +03:00
Kamay Xutax
e633e80886 Added auxiliary vectors
TODO: We might add examples run-time one day.
2022-07-01 20:13:04 +03:00
Serge Lamikhov-Center
9d6984a59b An attempt to address unusual case where 'note' size is larger than Elf_Word 2022-06-21 08:07:06 +03:00
Serge Lamikhov-Center
ee891ca7c9 Make sure that dynamic section entry size is larger than ElfXX_Dyn structure 2022-06-19 23:21:56 +03:00
Serge Lamikhov-Center
cf954a8d42 Prevent memory access to data out the notes' section 2022-06-19 17:37:22 +03:00
Serge Lamikhov-Center
cb61d172bb Prevent a memory leak 2022-06-19 17:34:28 +03:00
Serge Lamikhov-Center
3aad501f5b Add check for incorrect section/segment entry size 2022-06-18 22:47:37 +03:00
Serge Lamikhov-Center
07ef317550 Check out of the file boundary access attemps 2022-06-16 17:30:22 +03:00
Serge Lamikhov-Center
38d61e30a7 Refactor var declaration 2022-06-11 06:13:41 +00:00
Serge Lamikhov-Center
cfa213d646 Reduce complexity of 'if' nesting 2022-06-11 05:59:51 +00:00
Alan Jowett
f1c7d420e4 Validate that strings in table are null terminated
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-06-11 07:47:44 +03:00
Serge Lamikhov-Center
2879ee62a2 Tiny reformat 2022-06-10 21:29:08 +03:00
Alan Jowett
fc3c397dd0 Reject ELF files with section entries smaller than symbol size
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
2022-06-10 21:08:18 +03:00
Alan Jowett
3e6809cf13 Stop parsing ELF if segment header is beyond end of file
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-06-10 20:54:00 +03:00
Richard Chien
1cb8be7aee Fix potential use of uninitialized variables 2022-05-21 22:55:03 +03:00
Richard Chien
292367751d Add AArch64 relocation types 2022-05-21 22:55:03 +03:00
Richard Chien
01f8fed8ad Change relocation type to unsigned 2022-05-21 22:55:03 +03:00
Serge Lamikhov-Center
1e6d24d40e Address warnings reported by Windows compilation 2022-02-26 01:56:52 +02:00
Serge Lamikhov-Center
090444309f Address casting on MSVC++ 2022-02-11 09:20:38 +02:00
Serge Lamikhov-Center
96c61ee26f Upgrade the version to 3.11 2022-02-08 10:41:27 +02:00
Serge Lamikhov-Center
722077d4f7 Initialize local var 2022-02-02 23:31:49 +02:00
Serge Lamikhov-Center
0c841c7ed4 No need to disable warnings in a newer VS C++ compiler 2022-02-02 23:28:01 +02:00
Serge Lamikhov-Center
48e78fe1b9 No need to disable warnings in a newer VS C++ compiler 2022-02-02 23:19:15 +02:00
Serge Lamikhov-Center
b5332a5d5b 'note_section' member name is confusing now - template class is capable to work with segments now 2022-01-29 17:03:37 +02:00
Serge Lamikhov-Center
feee9d4ada note_segment_accessor added 2022-01-29 10:48:04 +02:00
Serge Lamikhov-Center
ed2523f095 Adjust stream size when section data changes 2022-01-19 01:24:46 +02:00
scribam
36f78fbf28 Remove semicolon at the end of the namespace definition 2022-01-18 11:40:15 -08:00
Serge Lamikhov-Center
b6d1a84be0 Disable symbol section size validation (temporary?) 2022-01-18 21:33:18 +02:00
Serge Lamikhov-Center
0cf852e561 Make get_stream_size() public 2022-01-15 00:16:11 +02:00
y27988
7a1db4060f Update elfio_symbols.hpp
if the section header is bad, return 0 when get symbol num
2022-01-14 13:45:27 -08:00
Serge Lamikhov-Center
69fc128bd5 Make set_stream_size() public again 2022-01-14 23:43:34 +02:00
Joshua J. Drake
b05d43860b Add ARM Aarch64 define (from elf.h) 2022-01-08 06:48:35 -08:00
Matthew McRaven
0a229d80fd Respect maximum value of size_t in set_stream_size
When size_t is 32-bits (like in a WASM project), passing in a 64-bit constant leads to compile-time warnings.
2022-01-01 08:12:08 -08:00
Serge Lamikhov-Center
f7cd33ad14 Add -Wall options. Address the warnings 2022-01-01 17:49:44 +02:00
Serge Lamikhov-Center
daa1a17390 Version Requirements accessor (modifier) was added 2021-12-01 17:38:18 +02:00
Serge Lamikhov-Center
7ba15e0549 Version Requirements accessor (reader) was added 2021-12-01 17:10:35 +02:00
Serge Lamikhov-Center
89a6dfb4c1 Refactoring for 'note' section dump 2021-11-20 13:21:55 -08:00
Serge Lamikhov-Center
e451ea214a Implement more detailed 'note' section dump 2021-11-20 19:54:49 +02:00
Serge Lamikhov-Center
0ed413883d Definition of constants 2021-11-08 15:32:14 +02:00
Serge Lamikhov-Center
c050ae9bb9 Make ELF constants conversion to string be public members 2021-10-01 20:29:48 +03:00