Idan Horowitz
086969277e
Everywhere: Run clang-format
2022-04-01 21:24:45 +01:00
Lenny Maiorani
cb87d13dd5
Libraries: Use default constructors/destructors in LibCoredump
...
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules
"The compiler is more likely to get the default semantics right and
you cannot implement these functions better than the compiler."
2022-03-10 18:04:26 -08:00
Sviatoslav Peleshko
a666140a68
LibCoredump: Respect coredump's LD_LIBRARY_PATH when searching libraries
...
Previously, we would only resolve libraries from `/usr/lib`, which is
not the only path from which the crashed process could've loaded the
libraries from.
2022-02-14 11:42:19 +01:00
Ali Mohammad Pur
e72521f286
LibCoredump: Copy out the FooInfo structs to an aligned address
...
We were handing out unaligned pointers to these, which made UBSAN super
mad, copy them out to avoid that.
2022-01-28 22:51:27 +00:00
Ali Mohammad Pur
e0db9cb876
LibDebug+LibCoredump: Replace remaining reinterpret_casts and C casts
...
You misused your toys and I'm now taking them away, reflect on what you
did wrong for a bit.
2022-01-28 22:51:27 +00:00
Ali Mohammad Pur
da3c4e5df5
LibDebug+LibCoredump: Use ByteReader to do unaligned reads
...
The previous solution of "lol whats a UB" was not nice and tripped over
itself when it was run under UBSAN, fix this by doing explicit
byte-by-byte reads where needed.
2022-01-28 22:51:27 +00:00
Sam Atkins
45cf40653a
Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr
...
Apologies for the enormous commit, but I don't see a way to split this
up nicely. In the vast majority of cases it's a simple change. A few
extra places can use TRY instead of manual error checking though. :^)
2022-01-24 22:36:09 +01:00
Andreas Kling
58fb3ebf66
LibCore+AK: Move MappedFile from AK to LibCore
...
MappedFile is strictly a userspace thing, so it doesn't belong in AK
(which is supposed to be user/kernel agnostic.)
2021-11-23 11:33:36 +01:00
Itamar
1c0a7cde63
LibCoredump: Add Coredump::Inspector
...
The coredump Inspector implements the ProcessInspector interface for
a coredump. It is implemented using Coredump::Reader.
2021-11-20 21:22:24 +00:00
Itamar
ac762fbbc3
LibCoredump: Add Reader::for_each_library
2021-11-20 21:22:24 +00:00
Andreas Kling
587f9af960
AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional)
...
Also add slightly richer parse errors now that we can include a string
literal with returned errors.
This will allow us to use TRY() when working with JSON data.
2021-11-17 00:21:10 +01:00
Andreas Kling
80d4e830a0
Everywhere: Pass AK::ReadonlyBytes by value
2021-11-11 01:27:46 +01:00
Tim Schumacher
80cb44afae
Everywhere: Move shared library checks into a common function
...
While we're at it, unify the various different conditions that are
scattered accross the codebase.
2021-11-10 14:42:49 +01:00
Tim Schumacher
31c634be5a
LibCoredump: Restrict library name check when querying symbols
...
`object_name()` already returns the cleaned library name, and we
currently don't have any libraries with suffixes in /usr/lib, so we can
convert this to an `ends_with()` check.
2021-11-10 14:42:49 +01:00
Andreas Kling
784ab75d2d
LibCoredump: Don't copy uncompressed coredumps into a ByteBuffer
...
This was completely unnecessary and accounted for 6% of the total time
spent when loading a WebContent coredump into CrashReporter.
2021-09-22 00:40:07 +02:00
Ali Mohammad Pur
97e97bccab
Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe
2021-09-06 01:53:26 +02:00
Andreas Kling
bcd2025311
Everywhere: Core dump => Coredump
...
We all know what a coredump is, and it feels more natural to refer to
it as a coredump (most code already does), so let's be consistent.
2021-08-23 00:02:09 +02:00