| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Prevent overflows in the addtion of q and size, and avoid truncations in
callers by using size_t as type for size.
|
| | | |
| | | |
| | | |
| | | | |
Also declare the function static and warn if return value not used.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Avoid creating a stringstream by using find().
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Make the behavior of functions more explicit.
|
|/ / /
| | |
| | |
| | |
| | | |
Enable to parse the header file on its own, e.g. for language servers
(clangd).
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
463: Apply fixes from shellcheck r=Mic92 a=Mic92
Co-authored-by: Jörg Thalheim <joerg@thalheim.io>
|
| | | | |
|
|/ / / |
|
| | |
| | |
| | | |
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
|
| | | |
|
|/ / |
|
| |
| |
| | |
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
|
| |\
| |/
|/| |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
456: Add options to print, clear and set executable stack state r=Mic92 a=cgzones
Co-authored-by: Christian Göttsche <cgzones@googlemail.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Add options the modify the state of the executable flag of the GNU_STACK
program header. That header indicates whether the object is requiring an
executable stack.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
458: Bump cachix/install-nix-action from 18 to 19 r=Mic92 a=dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 18 to 19.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v18...v19)
---
updated-dependencies:
- dependency-name: cachix/install-nix-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
|
| | |
|
| |
| |
| | |
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
|
|/
|
|
|
|
|
|
|
|
|
| |
This patch checks if the section header table is placed right after the
program header table such that it would overlap when we add a new entry
in the program header table.
If that is the case, move the section header table to the end of the file.
Moreover, there is no need to add a new PT_LOAD segment everytime.
Check if the last segment is already a PT_LOAD with the same characteristics
and adjacent. Extend it in this case.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
447: Split segment size fix r=Mic92 a=otherjason
Co-authored-by: Jason <otherjason@nodomain.com>
|
| |
| |
| |
| |
| |
| | |
original flags in both"
This reverts commit f4f1848e42b68adca04019bcf0d47132d1530bf2.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a section in the file needs to be enlarged (e.g. to accommodate
setting a larger RPATH), shiftFile() is used to shift all content
following the growing section to a later position in the file.
Commit 109b771f53ee3d37ede8c0f165665605183c0975 introduced logic to
ensure that, after the segment split, no sections span multiple
segments. This is done by sliding the portion of the segment after the
split point later in the file, then adding a new PT_LOAD segment that
contains the preceding data plus the extra room that is being added. The
existing implementation does this by simply adding
`extraPages*getPageSize()` bytes to the number of bytes ahead of the
split point in the segment.
However, this approach can result in two PT_LOAD segments that overlap
when page boundaries are taken into account. As an example, this PT_LOAD
section (taken from a Python 3.10 binary):
LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000
0x0000000000000948 0x0000000000000948 R E 0x200000
is split into the following two sections:
LOAD 0x0000000000000000 0x00000000003ff000 0x00000000003ff000
0x0000000000001594 0x0000000000001594 R E 0x1000
LOAD 0x0000000000001594 0x0000000000400594 0x0000000000400594
0x00000000000003b4 0x00000000000003b4 R E 0x1000
Note that the two PT_LOAD sections both contain the memory page at
address 0x400000. The Linux kernel's ELF loader (at least as of v4.18)
does not accept this as a valid ELF executable, triggering a segfault
with si_code=SI_KERNEL immediately when the binary is executed.
The fix here is to set the length of the segment that comes before the
split point more carefully; instead of adding `extraPages*getPageSize()`
bytes to the portion of the segment that came before the split, the
actual number of padding bytes that were needed (before rounding up to
the next multiple of the page size) are used. This avoids the overlap
in the PT_LOAD segments and makes the output files executable again.
|
| |
| |
| |
| | |
flags in both
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
452: Add bors.toml r=Mic92 a=Mic92
Co-authored-by: Jörg Thalheim <joerg@thalheim.io>
|
| | | |
|
|/ / |
|
|\ \
| |/
|/| |
Fix Out-of-bounds read in the function modifySoname
|
|/ |
|
|\
| |
| | |
switch back to upstream nixpkgs for windows build
|
|/ |
|
|\
| |
| | |
cross compile to netbsd
|
|/ |
|
|\
| |
| | |
Also pass STRIP to the tests
|
| |
| |
| |
| | |
It is used in tests/no-gnu-hash.sh.
|
|\ \
| |/
|/| |
Ci
|
| | |
|
|/ |
|
|\
| |
| | |
bump version 0.17.0
|
|/ |
|