1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-10 18:10:56 +09:00
ladybird/Libraries
Nico Weber 00f658b984
Lagom+LibELF: Add an ELF fuzzer, and tweak the code to survive a few minutes of fuzzing (#3071)
If a buffer smaller than Elf32_Ehdr was passed to Image, header()
would do an out-of-bounds read.

Make parse() check for that. Make most Image methods assert that the image
is_valid(). For that to work, set m_valid early in Image::parse()
instead of only at its end.

Also reorder a few things so that the fuzzer doesn't hit (valid)
assertions, which were harmless from a security PoV but which still
allowed userspace to crash the kernel with an invalid ELF file.

Make dbgprintf()s configurable at run time so that the fuzzer doesn't
produce lots of logspam.
2020-08-10 15:55:17 +02:00
..
LibAudio AudioServer: Give the AudioClient a way to keep track of the main mix volume 2020-07-21 19:02:25 +02:00
LibC Kernel: Use Userspace<T> for the execve syscall 2020-08-10 12:52:15 +02:00
LibCompress LibCompress: Add LibCompress 2020-08-04 11:27:07 +02:00
LibCore Kernel: More PID/TID typing 2020-08-10 11:51:45 +02:00
LibCrypt LibCrypt: Add LibCrypt, crypt, and crypt_r 2020-07-28 17:07:22 +02:00
LibCrypto LibTLS + LibCrypto: Suppress unobserved Optoinal<T> return values. 2020-08-05 12:27:15 +02:00
LibDebug LibDebug: Unbreak LineProgram::parse_source_directories() 2020-08-06 11:35:40 +02:00
LibDesktop FileManager: Allow double-clicking applications again 2020-07-15 00:11:30 +02:00
LibELF Lagom+LibELF: Add an ELF fuzzer, and tweak the code to survive a few minutes of fuzzing (#3071) 2020-08-10 15:55:17 +02:00
LibGemini Refactor: Expose const_cast by removing ByteBuffer::warp(const void*, size_t) 2020-08-06 10:33:16 +02:00
LibGfx WindowServer+LibGfx: Move window frame rect calculation to WindowTheme 2020-08-10 13:03:44 +02:00
LibGUI Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
LibHTTP Refactor: Expose const_cast by removing ByteBuffer::warp(const void*, size_t) 2020-08-06 10:33:16 +02:00
LibImageDecoderClient ImageDecoder: Add a new service for out-of-process image decoding :^) 2020-06-22 21:47:00 +02:00
LibIPC LibIPC: Fix waiting for specific message 2020-08-03 15:59:11 +02:00
LibJS Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
LibKeyboard Kernel+LibKeyboard: Store the keymap name when setting system keymap 2020-08-06 17:45:06 +02:00
LibLine LibLine: Only write to the standard error 2020-08-09 21:50:33 +02:00
LibM Revert "LibM: Always include <math.h> instead of <LibM/math.h>" 2020-08-04 21:17:43 +02:00
LibMarkdown LibMarkdown: Reset offset to 0 on each new List line 2020-07-14 17:45:16 +02:00
LibPCIDB Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
LibProtocol ProtocolServer+LibTLS: Pipe certificate requests from LibTLS to clients 2020-08-02 18:57:51 +02:00
LibPthread Kernel + LibPthread: Use Userspace<T> in the create_thread syscall 2020-08-05 09:36:53 +02:00
LibTextCodec Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
LibThread Kernel: More PID/TID typing 2020-08-10 11:51:45 +02:00
LibTLS Refactor: Expose const_cast by removing ByteBuffer::warp(const void*, size_t) 2020-08-06 10:33:16 +02:00
LibUnwind LibUnwind: Create UnwindBase.h to capture the EH ABI in code 2020-05-14 08:50:10 +02:00
LibVT Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
LibWeb LibWeb: Move tree iteration helpers from Node/LayoutNode to TreeNode 2020-08-10 15:21:23 +02:00
LibX86 AK: Rename MakeUnsigned::type to MakeUnsigned::Type. 2020-08-06 10:33:16 +02:00
CMakeLists.txt LibCompress: Add LibCompress 2020-08-04 11:27:07 +02:00