1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-12 23:20:59 +00:00
serenity/Libraries
Nico Weber 21ac343211 LibGemini: Fix crash on Link lines without explicit link text
Link::Link() does:

    if (m_name.is_null())
        m_name = m_url.to_string();

This tries to set the link text to the link url if there's no
explicit link text, but m_url.to_string() returns a temporary
string object, and m_name was a StringView, so this ended
pointing to invalid memory. This made the converted HTML
contain garbage data as link text, which made LibWeb crash.

(LibWeb probably shouldn't crash on links with garbage link
text, but in this case it helped identify a bug, so let's keep
that crash around since real web pages won't trigger it and
it's kind of useful to find bugs like this one.)

Makes gemini://rawtext.club/ no longer crash Browser.
2020-10-06 17:16:16 +02:00
..
LibAudio Everywhere: Fix typos 2020-10-02 16:03:17 +02:00
LibC AK: Make the return type of dbgputstr consistent. 2020-10-04 19:18:32 +02:00
LibChess Everywhere: Fix more typos 2020-10-03 12:36:49 +02:00
LibCompress Everywhere: Fix typos 2020-10-02 16:03:17 +02:00
LibCore LibCore: Add ensure_parent_directories to LibCore::File 2020-09-30 21:46:59 +02:00
LibCpp LibCpp: Add library for working with c++ code 2020-09-30 21:46:59 +02:00
LibCrypt Everywhere: Port to String::copy_characters_to_buffer() 2020-08-30 17:35:27 +02:00
LibCrypto Meta+LibC through LibHTTP: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
LibDebug Everywhere: Fix more typos 2020-10-03 12:36:49 +02:00
LibDesktop Meta+LibC through LibHTTP: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
LibDiff LibDiff: Add library for working with diffs 2020-09-15 21:43:29 +02:00
LibELF Everywhere: Fix more typos 2020-10-03 12:36:49 +02:00
LibGemini LibGemini: Fix crash on Link lines without explicit link text 2020-10-06 17:16:16 +02:00
LibGfx LibGfx+FontEditor+Fonts: Add "mean line" value to all fonts 2020-10-05 20:05:40 +02:00
LibGUI LibGUI: Add formatter for ModelIndex. 2020-10-06 15:04:37 +02:00
LibHTTP ProtocolServer+LibWeb: Support more detailed HTTP requests 2020-09-28 11:55:26 +02:00
LibImageDecoderClient AK: Add trivial structure validation to SharedBuffer 2020-10-02 15:38:07 +02:00
LibIPC LibIPC: Make IPC::encode() and ::decode() fail at compiletime when used 2020-10-04 23:12:28 +02:00
LibJS LibJS: Avoid work in Shape::lookup() if there are no properties 2020-10-05 20:53:00 +02:00
LibKeyboard Kernel+LibKeyboard: Store the keymap name when setting system keymap 2020-08-06 17:45:06 +02:00
LibLine Shell+LibLine: Record the input offset of completions 2020-10-04 23:12:28 +02:00
LibM Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
LibMarkdown LibMarkdown: Parse paragraphs line-wise 2020-09-27 21:14:18 +02:00
LibPCIDB LibPCIDB: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
LibProtocol AK: Add trivial structure validation to SharedBuffer 2020-10-02 15:38:07 +02:00
LibPthread Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
LibTar Userland: tar: support extracting gzipped files 2020-10-04 00:16:40 +02:00
LibTextCodec LibTextCodec: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
LibThread HackStudio: Detach from debugged process before terminating 2020-09-26 17:18:21 +02:00
LibTLS Everywhere: Fix typos 2020-10-02 16:03:17 +02:00
LibUnwind Everywhere: Fix typos 2020-10-02 16:03:17 +02:00
LibVT Everywhere: Fix typos 2020-10-02 16:03:17 +02:00
LibWeb LibWeb: Add debug toggle for dumping gemini documents 2020-10-06 17:16:16 +02:00
LibX86 UserspaceEmulator+LibX86: Clean up some obnoxious template spam 2020-09-23 21:15:01 +02:00
CMakeLists.txt LibTar: Create LibTar and TarStream 2020-10-04 00:16:40 +02:00