summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-15LibGfx: Don't leak malloc memory in cloned fontsAndreas Kling
Fixes #4083.
2020-11-15LibC: Ensure mkstemp generates a pattern 6 characters in lengthBrendan Coles
2020-11-15UserspaceEmulator: Implement FISUBR_RM32Nico Weber
Fixes crash when playing `ue Breakout` with the mouse.
2020-11-15Userland: Tests: Use mkstemp temporary files in testsBrendan Coles
2020-11-14UserspaceEmulator: Fix some FPU instructions' handling of RM32/RM64Andreas Kling
m32int is a 32-bit integer stored in memory, and should not be mistaken for a floating point number. :^) Also add missing handling of 64-bit FPU register operands to some of the RM64 instructions.
2020-11-14UserspaceEmulator: Skip destroying the Emulator object on shutdownAndreas Kling
There are some destruction order races that can cause hangs while shutting down UE. Since there's no particular value right now in destroying the Emulator object properly, just avoid destruction and add a FIXME about looking into it later.
2020-11-14UserspaceEmulator: Untaint flags in FCOMI and FUCOMI for nowAndreas Kling
This makes UE logging bearable until we can get proper shadow data support for the FPU stack.
2020-11-14UserspaceEmulator: Forget ChunkedBlocks after they are munmap()'edAndreas Kling
This is not ideal since we lose free() backtraces, but it will require some thinking to get this right.
2020-11-14UserspaceEmulator: Avoid one hash lookup in target_did_malloc()Andreas Kling
2020-11-14UserspaceEmulator: Add some helpers to tidy up TrackedChunkedBlockAndreas Kling
2020-11-14UserspaceEmulator: Track malloc ChunkedBlocks for faster auditingAndreas Kling
Instead of doing an O(n) scan over all the mallocations whenever we're doing a read/write audit, UE now keeps track of ChunkedBlocks and their chunks. Both the block lookup and the chunk lookup is O(1). We know what ChunkedBlocks look like via mallocdefs.h from LibC. Note that the old linear scan is still in use for big mallocations, but the vast majority of mallocations are chunked, so this helps a lot. This makes malloc auditing significantly faster! :^)
2020-11-14LibC: Move some of malloc's data structures into mallocdefs.hAndreas Kling
This allows UE to see what the heap metadata looks like.
2020-11-14Kernel: Fix mouse lag when VMWareBackdoor absolute mode is enabledTom
We won't be receiving full PS/2 mouse packets when the VMWareBackdoor absolute mouse mode is enabled. So, read just one byte every time and retrieve the latest mouse packet from VMWareBackdoor immediately. Fixes #4086
2020-11-14Revert "Kernel: Keep reading from i8042 until the buffer is empty"Tom
This reverts commit 467f6c74a4d2bfd46fdd04c7ef3ff35ab88e1384.
2020-11-14Kernel: Keep reading from i8042 until the buffer is emptyAndreas Kling
Otherwise we might not drain the mouse buffer until the next IRQ.
2020-11-14AK: Mark SimpleIterator::operator*() as ALWAYS_INLINEAndreas Kling
This gives the compiler enough information to optimize index validation when using range-for to iterate over a Vector, drastically reducing the cost of such loops.
2020-11-14Meta: Fix IRC notification scriptBen Wiederhake
What a silly mistake. How did I manage to do that?
2020-11-14Userland: chroot: Add `--userspec`/`-u` flag to set uid/gid for chrootBrendan Coles
2020-11-14UserspaceEmulator: Implement FISUB_RM32Andreas Kling
2020-11-14UserspaceEmulator: Remove some FPU debug spamAndreas Kling
2020-11-14UserspaceEmulator: Implement FABSAndreas Kling
2020-11-14UserspaceEmulator: Improve FCOMI/FCOMIP/FUCOMI/FUCOMIPAndreas Kling
These instructions now operate on the specified FPU stack entry instead of always using ST(0) and ST(1). FUCOMI and FUCOMIP also handle NaN values slightly better.
2020-11-14UserspaceEmulator: Honor the read/write/execute bits in mmap regionsAndreas Kling
UE will now correctly crash when accessing an mmap memory region in some way it's not supposed to be accessed.
2020-11-14Meta: Use SerenityBot for IRC notificationsBen Wiederhake
This avoids "useless" join/part notifications.
2020-11-14Meta: Let toolchain patches invalidate toolchain cacheBen Wiederhake
Fixes #4072.
2020-11-14Meta: Fix broken IRC notification for drafts and skipsBen Wiederhake
2020-11-14UserspaceEmulator: Print an emulator backtrace on OOB accessAndreas Kling
This makes OOB accesses much more actionable than just having UE itself asserting with no hint about what the emulated program was doing.
2020-11-14LibC: strtok_r() should not go past the last tokenAndreas Kling
When we hit the last token, make the saved pointer point to the null terminator instead of to the next token. This ensures that the next call to strtok_r() returns null as expected. Found by running GCC in UE. :^)
2020-11-14LibC: Fix OOB access in strerror() with invalid inputAndreas Kling
Calling strerror() with a negative number should not access below the error string array. Found by running GCC in UE. :^)
2020-11-14TmpFS: Set the root inode's timestamp to the current timeAndreas Kling
cc @bcoles :^)
2020-11-14LibTLS: Add support for AEAD cipher suitesAnotherTest
And integrate AES-GCM.
2020-11-14LibCrypto: Implement GCM modeAnotherTest
2020-11-14test-crypto: Silence the "creating bytebuffer..." debugAnotherTest
2020-11-14LibCrypto: Move out 'VerificationConsistency' into its own header fileAnotherTest
2020-11-14LibCrypto: Templatise CTR<T> on the increment functionAnotherTest
2020-11-14LibWeb: Use standardized encoding names, add encoding attribute to documentLuke
2020-11-14LibTextCodec: Add a function to convert encodings to standardized namesLuke
https://encoding.spec.whatwg.org/#names-and-labels
2020-11-14LibGUI: Make FileIconProvider aware of all supported image formatsLinus Groh
By using Gfx::Bitmap::is_path_a_supported_image_format() we can automatically provide the image icon for all supported image formats, without keeping a second list of image file extensions.
2020-11-14LibGUI: Add more extensions to FileIconProviderLinus Groh
This adds the following: - cplusplus: .cxx, .cc, .c++ - header: .hpp, .hxx, .hh, .h++ - javascript: .mjs
2020-11-14LibGfx: Make Bitmap path handling case insensitiveLinus Groh
Bitmap::is_path_a_supported_image_format() and Bitmap::load_from_file() now check the file extension with CaseSensitivity::CaseInsensitive. This fixes a couple of inconsistencies, for example would FileSystemModel::icon_for() recognize image files uppercase extensions but couldn't create thumbnails for them (any attempt to create a bitmap from such files would fail).
2020-11-14AK: Fix StringUtils::contains() case insensitive searchLinus Groh
It would incorrectly return false if needle was at the end the string.
2020-11-14HackStudio: Use GUI::FileIconProvider::icon_for_path() for Locator iconsLinus Groh
No need to duplicate file icon association logic as well as artificially limiting the number of recognized file types.
2020-11-14HackStudio: Make Locator search case insensitiveLinus Groh
Typing "make" should find "Makefile", for example. :^)
2020-11-14Lagom: Use -fsanitize=fuzzer, not -fsanitize=fuzzer-no-linkNico Weber
Fuzzers don't link for me without this change.
2020-11-14Lagom: Add a gemini fuzzerNico Weber
Didn't find anything interesting, but might as well check it in.
2020-11-14Lagom: Augment fuzzing readme a bitNico Weber
Recommend using asan, don't set the c compiler (c++ compiler is sufficient), mention how to run on several cores, and how to get less output.
2020-11-14Userland: Add test-gfx-font for Gfx::Font testsBrendan Coles
2020-11-13LibGfx: Fail PPM decode if there's not enough pixel data in the inputAndreas Kling
Fixes #3820.
2020-11-13LibGfx: Add missing stream error handling in GIF frame descriptor parseAndreas Kling
If we try to read a sentinel byte but the stream is fresh out of data, we have to take care of the stream error and bail out right away, or we'll hit an assertion when exiting the function soon after. Fixes #3486.
2020-11-13LibGfx: Refuse to decode PNG images with geometry outside i32 boundsAndreas Kling
Just fail the decode immediately when encountering an IHDR chunk with width and/or height larger than the maximum i32 value. Fixes #3818. Fixes #3819.