ladybird/Userland/Libraries
Leonardo Duarte 335fae9a71 LibC: Return early in time_to_tm for large time_t
POSIX says that localtime should fail with EOVERFLOW if the result
cannot be represented, which is the case for most large (in absolute
value) time_t inputs, since they overflow (or underflow) tm_year, which
is an int. This patch introduces this functionality. Previously, tm_year
just overflowed (or underflowed) silently.

Incidentally, this partially fixes #12729 without solving the root
problem, which is that time_to_tm is linear in its input to determine
the number of years since epoch.

This means that the bash port mktime test no longer times-out in 60s,
but it still fails (faster) in some other place. Due to underlying issue
in the algorithm, the worst case inputs still take a couple of seconds
on my machine.
2022-04-19 10:06:23 -04:00
..
LibArchive LibArchive: Stop null-terminating StringView tar file header fields 2022-04-13 19:51:57 +02:00
LibAudio LibCore+Everywhere: Make Core::Stream::read() return Bytes 2022-04-16 13:27:51 -04:00
LibC LibC: Return early in time_to_tm for large time_t 2022-04-19 10:06:23 -04:00
LibCards LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
LibChess LibChess: Change UCI::Command::Type to enum class 2022-04-03 17:36:48 +01:00
LibCompress LibCompress: Change DeflateSpecialCodeLengths to constexpr variables 2022-04-03 17:36:48 +01:00
LibConfig Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibCore LibCore: Allow inspecting any process launched with MAKE_INSPECTABLE=1 2022-04-18 12:57:34 +02:00
LibCoredump Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibCpp LibCpp: Parse inheritance 2022-04-17 10:09:23 +04:30
LibCrypt Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibCrypto LibCrypto: Implement custom BitStringView for ASN.1 decoder 2022-04-17 10:10:19 +04:30
LibDebug Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibDesktop Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibDeviceTree Libraries: Add LibDeviceTree for manipulating OpenFirmware Device Trees 2021-10-21 19:20:03 -07:00
LibDiff Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibDl Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibDNS LibDNS: Remove the 'DNS' prefix from the various type and class names 2022-04-15 16:34:26 +01:00
LibDSP AK+Everywhere: Add sincos and use it in some places 2022-03-15 11:39:42 +01:00
LibEDID Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibELF LibELF: Look up symbols in all global modules 2022-04-03 23:25:39 +01:00
LibFileSystemAccessClient Userland: Rename WindowServerConnection=>ConnectionToWindowServer 2022-02-25 22:35:12 +01:00
LibGemini LibCore+Everywhere: Make Core::Stream read_until() return Bytes 2022-04-16 13:27:51 -04:00
LibGfx LibGfx: Add Bitmap::visually_equals() 2022-04-17 09:58:29 +04:30
LibGL LibGL: Implement GLContext::frontbuffer() 2022-04-17 09:58:29 +04:30
LibGPU LibGL+LibSoftGPU: Add GL_ADD Texture Environment 2022-04-09 11:40:33 +02:00
LibGUI LibGUI: Don't try to get link target value if read_link failed 2022-04-14 23:44:09 +02:00
LibHTTP LibCore+Everywhere: Make Core::Stream read_until() return Bytes 2022-04-16 13:27:51 -04:00
LibImageDecoderClient Userland: Rename IPC::ServerConnection=>IPC::ConnectionToServer 2022-02-25 22:35:12 +01:00
LibIMAP Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibIPC LibCore+LibIPC: Make Core::Stream read_without_waiting() return Bytes 2022-04-16 13:27:51 -04:00
LibJS LibJS: Make the BC generator.next(value) work 2022-04-18 23:59:30 +04:30
LibKeyboard Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibLine LibLine: Reset next suggestion index when resetting suggestions 2022-04-18 19:53:10 +04:30
LibM Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibMain LibMain: Statically link LibMain 2022-03-24 03:04:57 +01:00
LibMarkdown Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibPCIDB Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibPDF LibGfx: Move ScaledFont and new base class VectorFont out of TTF 2022-04-09 23:48:18 +02:00
LibProtocol LibCore+Everywhere: Make Core::Stream::read() return Bytes 2022-04-16 13:27:51 -04:00
LibPthread Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibRegex Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibSanitizer Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibSoftGPU LibSoftGPU: Optimize clipping code 2022-04-11 19:31:23 -07:00
LibSQL Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibSymbolication Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibSyntax Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibSystem LibCore+LibSystem: Move syscall wrappers from LibSystem to LibCore 2021-11-23 11:33:36 +01:00
LibTest Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibTextCodec Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibThreading Libraries: Use default constructors/destructors in LibThreading 2022-03-13 22:34:38 +01:00
LibTimeZone LibTimeZone: Parse and generate time zone coordinate data 2022-02-03 16:11:15 +01:00
LibTLS LibTLS: Cleanup of verify_chain and verify_certificate_pair 2022-04-17 10:10:19 +04:30
LibUnicode LibUnicode: Upgrade to CLDR version 41.0.0 2022-04-07 08:29:10 -04:00
LibUSBDB Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibVideo Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibVT LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
LibWasm Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibWeb LibWeb: Add missing StyleValue::equals() methods 2022-04-18 21:30:51 +02:00
LibWebSocket LibCore+Everywhere: Make Core::Stream read_line() return StringView 2022-04-16 13:27:51 -04:00
LibX86 LibX86+disasm: Use an output format closer to objdump 2022-04-07 16:50:34 +02:00
LibXML LibXML: Add a fairly basic XML parser 2022-03-28 23:11:48 +02:00
CMakeLists.txt LookupServer: Move DNS related code into new LibDNS library 2022-04-15 16:34:26 +01:00