Age | Commit message (Collapse) | Author |
|
This is an editorial change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/687d06c
|
|
This is an editorial change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/bc59d8d
|
|
This is an editorial change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/823300c
|
|
This is an editorial change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/9f37d10
|
|
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/c12d20d
|
|
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/f1f016e
|
|
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/cdfe4a5
|
|
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/439e6af
|
|
This is an editorial change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/7813599
|
|
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/5e2fecb
|
|
This is an editorial change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/fc3f80d
|
|
This is an editorial change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/a454134
|
|
The flag will automatically initialize all variables to a pattern based
on it's type. The goal being here is to eradicate an entire bug class
of issues that can originate from uninitialized stack memory.
Some examples include:
- Kernel information disclosure, where uninitialized struct members
or struct padding is copied back to usermode, leaking kernel
information such as stack or heap addresses, or secret data like
stack cookies.
- Control flow based on uninitialized memory can cause a variety of
issues at runtime, including stack corruptions like buffer
overflows, heap corruptions due to deleting stray pointers.
Even basic logic bugs can result from control flow operating on
uninitialized data.
As of GCC 12 this flag is now supported.
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=a25e0b5e6ac8a77a71c229e0a7b744603365b0e9
Clang has already supported it for a few releases.
https://reviews.llvm.org/D54604
|
|
This broke with recent changes to library loading and mapping order.
|
|
|
|
The original heuristic of "a library being in `s_global_objects` means
that it was fully initialized already" doesn't hold up anymore since we
changed the loading order. This was causing us to skip parts of the
initialization of dependency libraries when running dlopen (since it was
the only user of that setting).
Instead, set a flag after we run stage 4 (which is the "run the global
initializers" stage) and check that flag when determining unfinished
dependencies. This entirely replaces the `skip_global_objects` logic.
|
|
|
|
This removes some old cruft to refactor the hardware buffer-related
datastructures into depending on a single constant, which determines the
number of samples per hardware buffer that the audio server mixes. This
is set to 1024 as before, so there are no functional changes.
|
|
When the size of the audio data was not a multiple of a page size,
subtracting the page size from this unsigned variable would underflow it
close to 2^32 and be clamped to the page size again. This would lead to
writes into garbage addresses because of an incorrect write size,
interestingly only causing the write() call to error out.
Using saturating math neatly fixes this problem and allows buffer
lengths that are not a multiple of a page size.
|
|
|
|
|
|
This way the FlacLoader can be more easily understood by someone that
doesn't already know the format inside out.
|
|
We were capturing a reference to a stack local and then persisting the
closure, causing it to dereference a long-gone object when invoked.
|
|
This prevents font-face rules without a block statement from crashing
LibWeb during CSS parsing.
The issue was discovered by Lubrsi during CSS parser fuzzing. :)
Fixes #14141.
|
|
This now also shows the same box-shadows on the right on top of a
background to test the clipping underneath the content.
|
|
This is done elsewhere in LibGfx, but adding it here is more of a
prayer for speed.
|
|
This dropped a few percent when profiling Lubrsi's test.
|
|
This seemed to drop the time spent here a few percent in profiling.
|
|
This commit adds support for using all your favorite border radii with
box-shadow, that is elliptical, circular, rounded rectangle etc. :^)
There is some work needed to make this more performant. The larger
your border radius is the larger the corner bitmap needs to be,
which means more time spent in FastBoxBlurFilter. There are probably
some tricks to bring this down.
Fixes #14325
|
|
The default clip mode 'outside' clips everything outside the corner,
'inside' does the opposite :^)
|
|
This is not used yet, but will be needed for painting shadows on
elements that have a border-radius.
|
|
|
|
|
|
|
|
Specifically the 'Symbol as WeakMap Keys Proposal'.
|
|
|
|
|
|
|
|
This AO is required for implementing the rest of the stage 3 'Symbol as
WeakMap Keys Proposal'.
|
|
|
|
Usually the values of the previous and next pointers of deleted buckets
are never used, as they're not part of the main ordered bucket chain,
but if an in-place rehashing is done, which results in the bucket being
turned into a free bucket, the stale pointers will remain, at which
point any item that is inserted into said free-bucket will have either
a stale previous pointer if the HashTable was empty on insertion, or a
stale next pointer, resulting in undefined behaviour.
This commit also includes a new HashMap test that reproduces this issue
|
|
|
|
Previously we would leave artifacts on screen if a change caused the
buffer to span fewer lines than the current buffer.
This commit records the shown line count and uses that instead of trying
to guess the previous line count (and failing most of the time).
|
|
|
|
|
|
Currently CursorStyle enum handles both the styles and the steadiness or
blinking of the terminal caret, which doubles the amount of its entries.
This commit changes CursorStyle to CursorShape and moves the blinking
option to a seperate boolean value.
|
|
The RDGSBASE userspace instruction allows programs to read the contents
of the gs segment register which contains a kernel pointer to the base
of the current Processor struct.
Since we don't use this instruction in Serenity at the moment, we can
simply disable it for now to ensure we don't break KASLR. Support can
later be restored once proper swapping of the contents of gs is done on
userspace/kernel boundaries.
|
|
Now that the lower pages can be unmapped and more of the virtual
address range is available to us, we can actually use the default
mapping address of x86_64 again.
This reverts commit 292398b5857d0104f7c33fdb5d79f45fe8b395dd.
|
|
This keeps us from needlessly allocating storage via `malloc` as part
of the `Vector`s that early, which we might conflict on while reserving
memory for the main executable.
|
|
This further reduces the chance that we will conflict with data that is
already present at the target location.
|