summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-30Spreadsheet: Force-update the spreadsheet widget after pastingAnotherTest
Just updating the sheet will not cause a widget update.
2020-11-30LibWeb: Deallocate DOM timer ID's when the timer goes awayAndreas Kling
I left a page open overnight and it had run out of timer ID's. :^)
2020-11-30JPGLoader: Remove JPEG fuzz files from the main repositorydevashish
...and transfer them to SerenityOS/serenity-fuzz-corpora.
2020-11-30JPGLoader: Use HashMap to store huffman tablesdevashish
This patch rids us of the ugly hack that we had to go through while handling table redefinitons.
2020-11-30LibRegex: Give the bytecode a chance to run when there's no inputAnotherTest
Fixes #4246 Also adds a test case.
2020-11-30LibRegex: Fix OOB access in Regex debug printAnotherTest
2020-11-30LibJS: Fix crash in Lexer on EOF in unterminated template literalLinus Groh
Fixes #4252.
2020-11-30LibRegex: Add bounds check to Lexer::back()Linus Groh
If the offset is zero and we're already at the end of the lexer's input an out of bounds read (m_source[m_position]) would occur. Also check that the offset is not more than m_position (which should never be the case, and would result in m_position underflowing). Fixes #4253.
2020-11-30LibMarkdown: Reduce debug spam from invalid characters in table headingsLuke
Happens a lot when fuzzing.
2020-11-30Lagom/Fuzzers: Add URL fuzzerLuke
2020-11-30AK: Fix logic error in urldecode() percent-decodingLinus Groh
We also need to append the raw consumed value if *either* of the two characters after the % isn't a hex digit, not only if *both* aren't. Fixes #4257.
2020-11-30Terminal: Wait on the utmpupdate process to finishTom
This solves utmpupdate zombies hanging around until Terminal terminates.
2020-11-29LibWeb: Auto-size table box height to fit all the rowsAndreas Kling
This is just a hack until we implement the full 'height' property for tables. :^)
2020-11-29LibWeb: Allow inline-block boxes to have non-inline childrenAndreas Kling
We were incorrectly hoisting non-inline children of inline-block boxes to the nearest non-inline ancestor. Since inline-block boxes are only inline on the *outside*, it's fine for them to have non-inline children. Eventually we should clarify these relationships by making the inside and outside display types more explicit.
2020-11-29LibCore: Reduce debug spam from successful gzip decodingAndreas Kling
2020-11-29LibWeb: Remove margin/border/padding from inline-block available widthAndreas Kling
2020-11-29LibGfx: Validate bit depths, and don't assert on invalid color typeNico Weber
The PNG spec says that each color type only allows certain bit depths, so add explicit checks for that.
2020-11-29LibGfx: Make PNGLoader not assert on images with missing chunksNico Weber
Before this, images without IHDR, or palettized images with no or too small PLTE would lead to asserts. Found by running FuzzPNGLoader locally.
2020-11-29LibGfx: Put debug output in PNGLoader behind PNG_DEBUGNico Weber
2020-11-29LibWeb: Resolve percentage width/height of inline-block boxesAndreas Kling
Percentage lengths cannot be to_px()'ed directly, we have to resolve them against a reference (the containing block) first. Fixes #4248.
2020-11-29LibRegex: Use match_ordinary_characters() in ECMA262Parser::parse_atom()Linus Groh
Otherwise we would only match TokenType::Char, making all of these invalid: - /foo,bar/ - /foo\/bar/ - /foo=bar/ - /foo-bar/ - /foo:bar/ Fixes #4243.
2020-11-29Terminal: Allow the user to configure the maximum history sizeAnotherTest
Closes #4238.
2020-11-29LibVT: Make terminal scrollback max size configurableAnotherTest
2020-11-29LibRegex: Allow syntax characters (except ']') without escapes in classesAnotherTest
e.g. `[:]`
2020-11-29Userland: Implement -I/-a (binary-mode) and -i (insensitive) for grepAnotherTest
This fixes #4195 and closes #4196.
2020-11-29LibCore: Do not try to null-terminate a ByteBuffer in read_line()AnotherTest
That's just silly :) Also fix that one use of read_line() which assumes it will null-terminated in mount.cpp (this would've blown up if the IODevice was at EOF and had a line with the same size as max_size).
2020-11-29AK: Export ShouldChomp::NoChomp tooAnotherTest
It's much more elegant to say 'should_chomp ? Chomp : NoChomp' than to say 'if (should_chomp) ...(..., Chomp) else ...(...)'.
2020-11-29LibJS: Add a basic implementation of String.prototype.substr()Andreas Kling
2020-11-29Meta: Add GitHub Actions workflow for Lagom with FuzzersLuke
There are cases where Lagom will build with GCC but not Clang. This often goes unnoticed for a while as we don't often build with Clang. However, this is now important to test in CI because of the OSS-Fuzz integration. Note that this only tests the build, it does not run any tests. Note that it also only builds LagomCore, Lagom and the fuzzers. It does not build the other programs that use Lagom.
2020-11-29LibGfx: gamma_to_linear4 is not a valid constexpr on clang 10 and belowLuke
This is a hack which can be removed once GitHub Actions changes the default version to clang 11. This is apparently sometime in mid-December. Note, clang-11 is not currently available on Ubuntu 20.04. However, GitHub Actions uses 20.04, which probably means clang-11 will become available around that time for all 20.04 users.
2020-11-29LibCrypto: Require intent parameter in CTR constructorLuke
This was preventing clang from building.
2020-11-29Lagom: Mention OSS-Fuzz in ReadMeNico Weber
We added OSS-Fuzz integration in #4154, but documentation about it is spread across several pull requests, IRC, and issues. Let's collect the important bits in the ReadMe.
2020-11-29LibGfx: Don't assert on files ending right before lzw_min_code_sizeNico Weber
Not yet found by oss-fuzz, but I hit it a while ago when running FuzzGIFLoader locally.
2020-11-29LibGfx: skip zero-width framesNico Weber
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27913 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27873
2020-11-29LibJS: Constructor function's "prototype" property should be writableAndreas Kling
This matches other engines.
2020-11-29LibJS+LibWeb: Log JavaScript exceptions raised by web contentAndreas Kling
Instead of hiding JS exceptions raised on the web, we now print them to the debug log. This will make it a bit easier to work out why some web pages aren't working right. :^)
2020-11-29LibWeb: Abort event handling if underlying layout tree disappearsAndreas Kling
We didn't notice that the layout tree had disappeared after dispatching a mousedown event, because we only checked EventHandler::layout_root() which happily returned the *new* layout tree after a window.reload(). This patch fixes that by verifying that the frame is still showing the same DOM's layout tree after event dispatch. Fixes #4224.
2020-11-29LibWeb: Allow building partial layout treesAndreas Kling
We can now build partial layout trees (this happens for example when an element's "display" property is programmatically toggled from "none" to something else.)
2020-11-29LibWeb: Tweak a comment in Layout::TreeBuilder for accuracyAndreas Kling
2020-11-29LibWeb: Allow <svg> layout boxes to have childrenAndreas Kling
We can't say that "no replaced boxes can have children", since that breaks SVG. Instead, let each LayoutNode decide whether it's allowed to have children. Fixes #4223.
2020-11-29Lagom: Add a Shell parser fuzzerAnotherTest
2020-11-29Shell: Fix some at_end() bugs and use syntax errors instead of assertingAnotherTest
...in cases where the assert can be directly caused by user input.
2020-11-29JPGLoader: Move bogus JPEGs to a different directorydevashish
2020-11-29JPGLoader: Use HashMap instead of Vector for storing componentsdevashish
The JPEG spec allows component IDs to be chosen arbitrarily from the interval [0, 255]. Storing components in a vector corrupts the decoder when component IDs are not in the range 0-3. Normally, encoders don't use IDs outside of that range because JPEG doesn't support more than 4 channels. But since there is a chance that a spec compliant JPEG would have component IDs outside of [0-3], we should consider replacing the vector, which enforces serial component access based on component IDs, with a HashMap<u8, ComponentSpec>.
2020-11-29AK: Add missing GenericTraits<u8>devashish
This enables us to use keys of type u8 in HashMaps.
2020-11-29LibWeb: Blocks can have non-block (but non-inline) parentsAndreas Kling
We were messing up the box tree for tables by hoisting cells up to become children of the table row group (instead of the table row.) Table rows are non-block boxes, and it's fine for them to have cell (block) children. Fixes #4225.
2020-11-29Meta: Add OSS-Fuzz badge to ReadMe.mdLinus Groh
https://google.github.io/oss-fuzz/getting-started/new-project-guide/#status-badge > Once your project has started building, we’d love it if you added our > badge in your project’s README. This allows you to see bugs found by > your OSS-Fuzz integration at a glance.
2020-11-29LibMarkdown: Only consider "!" a special character when followed by "["Linus Groh
Fixes #4220.
2020-11-29Tests/Kernel: Remove redundant `if` (#4111)Lenny Maiorani
Problem: - If `fork()` fails the system tries to call `execl()`. That will either succeed and replace the running process image or it will fail and it needs to try again. The `if` is redundant because it will only be evaluated if `execl()` fails. Solution: - Remove the `if`.
2020-11-29AudioServer: Mixer: limit max volume to 100Brendan Coles