ladybird/AK
Rocco Corsi e3e78f4372 AK: Verify datetime fetching results and initialize struct tm
Cppcheck 2.17 tool found issue with struct tm under Windows

Checking AK/Time.cpp ...
Checking AK/Time.cpp: AK_OS_WINDOWS...
AK/Time.cpp:488:15: error: Uninitialized variable: &tm [uninitvar]
        (void)localtime_r(&timestamp, &tm);
              ^
32/39 files checked 87% done

Also the gmtime_X` and localtime_X calls were not checked for failures,
so those are now checked too.
2026-06-04 17:32:49 +02:00
..
.clang-tidy Meta: Add basic clang-tidy configuration 2021-11-14 22:52:35 +01:00
AllOf.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
AnyOf.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
Array.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Assertions.cpp AK: Print backtrace with warnln 2025-11-20 15:44:25 +01:00
Assertions.h AK: Remove unused architecture specific TODO macros 2025-11-07 11:27:51 +01:00
Atomic.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
AtomicRefCounted.h AK: Allow AtomicRefCounted to destroy classes using virtual inheritance 2026-05-13 02:05:35 -05:00
Backtrace.h.in AK+CMake: Use the find module to find the correct backtrace(3) header 2024-07-01 10:15:24 -06:00
Badge.h AK: Use Noncopyable.h in Badge 2024-12-04 16:45:58 +00:00
Base64.cpp AK: Don't convert encode_base64_impl() input to StringView 2026-03-31 18:14:28 +01:00
Base64.h AK+LibJS: Use simdutf for all base64 operations 2025-05-03 11:21:10 -04:00
BigIntBase.h AK+LibGfx: Prefer if consteval over is_constant_evaluated 2026-02-22 13:56:12 -05:00
BinaryHeap.h AK: Introduce IntrusiveBinaryHeap and reimplement BinaryHeap using it 2024-02-25 17:24:36 -07:00
BinarySearch.h AK: Add lower_bound_index to binary search helpers 2026-05-11 11:01:46 +02:00
BitCast.h AK: Use bit_cast in SIMDExtras.h/AK::Detail::byte_reverse_impl 2024-07-17 09:56:13 -06:00
Bitmap.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
BitmapView.h AK: Define operator== for BitmapView 2025-01-04 20:32:35 +01:00
BitStream.h AK: Simplify BigEndianInputBitStream::read_bits() 2026-04-29 20:28:15 +02:00
BufferedStream.h AK: Don't move trivially copyable types in BufferedStream methods 2024-04-30 13:22:56 +02:00
BuiltinWrappers.h AK: Fix doc comment for bit_scan_forward 2023-10-11 14:36:48 -04:00
BumpAllocator.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
ByteBuffer.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
ByteReader.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
ByteString.cpp AK: Remove public null state from StringView 2026-03-31 13:48:50 +01:00
ByteString.h AK: Remove unused include from ByteString 2026-02-17 12:38:51 +00:00
ByteStringImpl.cpp AK: Remove unused include from ByteStringImpl 2026-02-17 12:38:51 +00:00
ByteStringImpl.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
CharacterTypes.h AK: Add is_ascii_c0_control_or_space 2024-08-05 17:21:26 +01:00
Checked.h AK: Don’t let float precision sneak past is_within_range bounds 2026-05-27 19:05:56 +02:00
CheckedFormatString.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
CircularBuffer.cpp AK: Remove unused include from CircularBuffer 2026-02-17 12:38:51 +00:00
CircularBuffer.h AK: Add and use IdentityHashTraits<Integral> 2026-02-24 13:24:58 +01:00
CircularQueue.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
CMakeLists.txt AK+LibWeb: Centralize FFI helper functions 2026-05-28 14:15:43 -05:00
Concepts.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
ConstrainedStream.cpp AK: Make some Stream::read* functions available inline 2025-08-08 12:54:06 +02:00
ConstrainedStream.h AK: Make some Stream::read* functions available inline 2025-08-08 12:54:06 +02:00
CopyOnWrite.h AK+LibURL: Move CopyOnWrite<T> from LibURL to AK 2024-09-10 13:51:28 +02:00
CountingStream.cpp AK: Let CountingStream take an initial value for the counter 2025-06-11 18:16:29 +02:00
CountingStream.h AK: Let CountingStream take an initial value for the counter 2025-06-11 18:16:29 +02:00
COWVector.h LibRegex: Flatten capture group list in MatchState 2025-04-18 17:09:27 +02:00
DateConstants.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
Debug.h.in LibWeb: Move RenderingThread into Compositor 2026-05-12 20:57:08 +02:00
DefaultDelete.h AK+Everywhere: Move custom deleter capability to OwnPtr 2022-12-17 16:00:08 -05:00
Demangle.h AK: Implement demangle() for MSVC ABI 2025-06-17 18:39:18 -06:00
DemangleWindows.cpp AK: Implement demangle() for MSVC ABI 2025-06-17 18:39:18 -06:00
Diagnostics.h AK: Add a helper macro to temporarily ignore diagnostics with _Pragma() 2022-12-06 21:31:00 +00:00
DistinctNumeric.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
DoublyLinkedList.h AK: Mark some DoublyLinkedList and Vector methods ALWAYS_INLINE 2026-02-02 14:11:49 +01:00
Endian.h AK: Support non-native endianness in Utf16View 2024-07-18 19:43:57 +02:00
EnumBits.h Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
Enumerate.h AK: Avoid copying the iterable container in AK::enumerate 2025-11-18 13:31:52 +01:00
Error.cpp AK: Define some simple getters in a single line 2025-05-10 21:19:46 -04:00
Error.h AK/Error: Add value_or convenience method 2025-05-26 18:48:09 +02:00
FFIHelpers.cpp AK+LibWeb: Centralize FFI helper functions 2026-05-28 14:15:43 -05:00
FFIHelpers.h AK+LibWeb: Centralize FFI helper functions 2026-05-28 14:15:43 -05:00
Find.h AK: Take the container in AK::find_value as a forwarding reference 2026-01-22 08:54:49 -05:00
FixedArray.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
FixedBitmap.h AK: Add FixedBitmap template class for stack-allocated bitmaps 2026-01-14 11:46:23 +01:00
FloatingPoint.h AK: Add missing include to FloatingPoint.h 2026-02-23 18:30:40 +01:00
FlyString.cpp AK: Cache hashes for fly string interning 2026-01-26 19:37:42 +01:00
FlyString.h AK: Make short ASCII string literals compile-time constants 2026-04-17 16:22:56 +02:00
Format.cpp AK: Implement current_thread_id for FreeBSD 2026-02-26 19:52:49 -06:00
Format.h AK: Remove unused include from Format 2026-02-17 12:38:51 +00:00
Forward.h AK: Remove unused FixedPoint 2026-05-22 02:30:45 -05:00
Function.h AK+Tests: Destroy moved-from CallableWrappers 2026-02-18 13:13:32 -06:00
GenericLexer.cpp AK: Templatize GenericLexer for UTF-16 strings 2025-08-13 09:56:13 -04:00
GenericLexer.h LibJS: Prevent escaped surrogates from combining in Unicode regexes 2026-02-26 13:50:11 +01:00
GenericShorthands.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
HashFunctions.h AK+Everywhere: Use MurmurHash3 for int/u64 hashing 2026-02-20 22:47:24 +01:00
HashMap.h AK: Remove HashMap::hash() 2026-01-29 10:10:12 +01:00
HashTable.h AK: Hide tentative HashTable bucket from iterators across ensure() 2026-04-25 06:21:36 +02:00
Hex.cpp AK: Remove unused include from Hex 2026-02-17 12:38:51 +00:00
Hex.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
IDAllocator.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
InsertionSort.h AK: Fix InsertionSort to respect specified bounds 2024-12-06 06:44:27 +00:00
IntegralMath.h AK: Add lowest common multiple and greatest common divisor functions 2025-04-23 09:13:45 +01:00
IntrusiveDetails.h Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
IntrusiveList.h AK: Annotate [[no_unique_address]] members with NO_UNIQUE_ADDRESS macro 2025-04-15 02:19:06 -06:00
IPv4Address.h AK: Remove uneeded null StringView handling for IP string parsing 2026-02-21 12:37:44 +01:00
IPv6Address.h AK: Remove uneeded null StringView handling for IP string parsing 2026-02-21 12:37:44 +01:00
IterationDecision.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Iterator.h AK+LibJS: Add [[nodiscard]] to operator* in common types 2024-10-25 09:15:28 +02:00
JsonArray.cpp AK+Everywhere: Convert JSON value serialization to String 2025-02-20 19:27:51 -05:00
JsonArray.h AK: Fix the JsonArray constructor for accepting an iterable type 2025-03-04 15:33:39 -05:00
JsonArraySerializer.h Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
JsonObject.cpp AK+Everywhere: Convert JSON value serialization to String 2025-02-20 19:27:51 -05:00
JsonObject.h AK+Everywhere: Convert JSON value serialization to String 2025-02-20 19:27:51 -05:00
JsonObjectSerializer.h AK+Everywhere: Store JSON strings as String 2025-02-20 19:27:51 -05:00
JsonParser.cpp AK: Protect AK's JSON parser against invalid UTF-8 2026-04-28 22:54:47 +02:00
JsonParser.h AK: Protect AK's JSON parser against invalid UTF-8 2026-04-28 22:54:47 +02:00
JsonValue.cpp AK: Disallow construction of JsonParser 2025-03-20 10:50:24 +01:00
JsonValue.h AK: Don’t let float precision sneak past is_within_range bounds 2026-05-27 19:05:56 +02:00
kmalloc.cpp AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
kmalloc.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
LEB128.h AK: Skip vcalls to Stream::read_value and read_until_filled in LEB128 2025-08-08 12:54:06 +02:00
LexicalPath.cpp AK: Add LexicalPath::is_root() 2024-11-19 22:07:01 -07:00
LexicalPath.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
LexicalPathWindows.cpp AK: Don't crash on empty extension in LexicalPath::has_extension 2025-02-17 14:57:00 +01:00
LsanSuppressions.h LibGfx+LibWeb: Replace remaining OpenType implementation with Skia 2024-09-05 19:21:52 +02:00
Math.h AK+LibGfx: Prefer if consteval over is_constant_evaluated 2026-02-22 13:56:12 -05:00
MaybeOwned.h AK: Allow creating a MaybeOwned<Superclass> from a MaybeOwned<Subclass> 2024-03-25 20:35:00 +01:00
MemMem.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Memory.h AK: Remove fast_u32_xxx apis from Memory.h 2025-03-03 15:58:27 +01:00
MemoryStream.cpp AK: Switch AllocatingMemoryStream to a singly-linked chunk list 2026-04-22 13:32:07 +02:00
MemoryStream.h AK: Switch AllocatingMemoryStream to a singly-linked chunk list 2026-04-22 13:32:07 +02:00
NeverDestroyed.h AK: Include missing StdLibExtras from NeverDestroyed 2024-11-19 14:32:11 -07:00
Noncopyable.h AK: Loosen the restrictions on non-copyable/non-movable containers 2025-04-22 21:19:31 -06:00
NonnullOwnPtr.h AK: Store hash with HashTable entry to avoid expensive equality checks 2025-09-18 22:37:18 +02:00
NonnullRawPtr.h AK: Store hash with HashTable entry to avoid expensive equality checks 2025-09-18 22:37:18 +02:00
NonnullRefPtr.h AK: Store hash with HashTable entry to avoid expensive equality checks 2025-09-18 22:37:18 +02:00
NumberFormat.cpp AK: Remove unused include from NumberFormat 2026-02-17 12:38:51 +00:00
NumberFormat.h AK: Remove unused include from NumberFormat 2026-02-17 12:38:51 +00:00
NumericLimits.h AK: Add 16-bit float type 2024-11-10 14:48:20 -07:00
Optional.h AK: Skip Optional converting constructors when U is same as T 2026-05-26 08:47:14 +02:00
OptionParser.cpp AK: Remove unused include from OptionParser 2026-02-17 12:38:51 +00:00
OptionParser.h AK: Remove unused include from OptionParser 2026-02-17 12:38:51 +00:00
OwnPtr.h AK: Store hash with HashTable entry to avoid expensive equality checks 2025-09-18 22:37:18 +02:00
Platform.h AK+Meta: Make AK / ObjC interop MacOS only 2026-05-05 22:08:24 +02:00
Queue.h AK: Use deducing this for AK::queue::head() and tail() 2026-03-17 18:58:37 -05:00
QuickSort.h AK: Remove redundant condition from Quick Sort 2024-12-22 12:33:41 +01:00
Random.cpp AK+LibWeb: Move generation of random UUIDs into AK 2026-03-24 12:04:50 -04:00
Random.h AK+LibWeb: Move generation of random UUIDs into AK 2026-03-24 12:04:50 -04:00
RedBlackTree.h AK: Add a method to remove an iterated node from a RedBlackTree 2026-05-28 10:30:20 -05:00
RefCounted.h AK: Call deref_base() on the pointer type 2026-02-18 13:13:32 -06:00
RefPtr.h AK: Store hash with HashTable entry to avoid expensive equality checks 2025-09-18 22:37:18 +02:00
Result.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
ReverseIterator.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
SaturatingMath.h AK: Add SaturatingMath.h with branchless saturating arithmetic 2026-03-21 18:20:09 -05:00
ScopedValueRollback.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
ScopeGuard.h AK: Make ScopeGuard and ArmedScopeGuard [[nodiscard]] 2025-01-09 18:36:34 +00:00
ScopeLogger.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
SIMD.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
SIMDExtras.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Singleton.h LibWebView: Enable in Windows CI 2025-08-23 16:04:36 -06:00
SinglyLinkedList.h AK: Avoid UAF for consecutive SinglyLinkedList removals 2026-04-21 18:09:29 +02:00
SinglyLinkedListSizePolicy.h AK: Combine SinglyLinkedList and SinglyLinkedListWithCount 2023-01-02 20:13:24 +00:00
SourceGenerator.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
SourceLocation.h AK: Make SourceLocation's copy assignment operator take const 2026-02-18 13:13:32 -06:00
Span.h LibIPC: Encode spans of trivial arithmetic types more efficiently 2025-12-01 15:12:52 +01:00
StackInfo.cpp AK: Use getrlimit() to find the correct main thread stack size on macOS 2024-11-10 19:12:59 +01:00
StackInfo.h AK: Use __builtin_frame_address to find current stack depth remaining 2023-07-01 07:03:11 +02:00
StackUnwinder.h AK: Remove error passthrough from StackUnwinder 2026-03-03 11:26:42 -06:00
StdLibExtraDetails.h AK: Add IsTriviallyRelocatable type trait 2026-03-19 14:21:44 +01:00
StdLibExtras.h AK+LibGfx: Prefer if consteval over is_constant_evaluated 2026-02-22 13:56:12 -05:00
Stream.cpp AK: Make some Stream::read* functions available inline 2025-08-08 12:54:06 +02:00
Stream.h AK: Make some Stream::read* functions available inline 2025-08-08 12:54:06 +02:00
String.cpp AK: Prefer Optional<StringView> for String::bijective_base_from 2026-02-21 12:37:44 +01:00
String.h AK: Make short ASCII string literals compile-time constants 2026-04-17 16:22:56 +02:00
StringBase.cpp AK: Remove unused include from StringBase 2026-02-17 12:38:51 +00:00
StringBase.h AK+LibGfx: Prefer if consteval over is_constant_evaluated 2026-02-22 13:56:12 -05:00
StringBuilder.cpp AK: Reset UTF-16 StringBuilder ascii flag on clear() 2026-05-09 09:49:02 -04:00
StringBuilder.h AK: Initialize StringBuilder buffer in place 2025-10-05 11:24:46 +02:00
StringConversions.cpp AK+LibJS: Replace home-grown Ryu implementation with fmt's dragonbox 2026-02-23 18:30:40 +01:00
StringConversions.h AK+LibJS: Replace home-grown Ryu implementation with fmt's dragonbox 2026-02-23 18:30:40 +01:00
StringData.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
StringHash.h AK: Make hashing of UTF-16 strings cheaper 2025-08-07 02:05:50 +02:00
StringNumber.h AK: Skip ASCII validation in {Utf16String,String}::number() 2025-10-05 11:24:46 +02:00
StringUtils.cpp AK: Remove public null state from StringView 2026-03-31 13:48:50 +01:00
StringUtils.h AK+Everywhere: Replace custom number parsers with fast_float 2025-07-03 09:51:56 -04:00
StringView.cpp AK: Use memchr for StringView::contains() 2026-05-11 11:33:24 +02:00
StringView.h AK: Allow creating a StringView from an empty ReadonlyBytes 2026-03-31 19:01:10 +02:00
TemporaryChange.h AK: Fully qualify use of move in TemporaryChange 2025-03-22 17:27:45 +01:00
Time.cpp AK: Verify datetime fetching results and initialize struct tm 2026-06-04 17:32:49 +02:00
Time.h AK+Tests: Add a Duration function to scale by a rational 2026-05-19 15:20:58 -05:00
Traits.h AK: Add and use IdentityHashTraits<Integral> 2026-02-24 13:24:58 +01:00
Trie.h AK+LibRegex: Only set node metadata on Trie::ensure_child if missing 2025-11-21 02:46:33 +01:00
Try.h AK+LibJS: Allow {TRY,MUST}{,_OR_THROW_OOM} on list-initializers 2024-12-04 16:45:58 +00:00
Tuple.h Everywhere: Run clang-format 2026-02-18 08:02:45 -05:00
TypeCasts.h AK+LibWeb: Add a fast_as<T>() method for quickly casting mixin types 2026-05-15 13:45:42 +02:00
TypedTransfer.h AK: Add TypedTransfer<T>::relocate() 2026-03-19 14:21:44 +01:00
TypeList.h AK: Make IndexSequence use size_t 2024-02-11 18:53:00 +01:00
Types.h AK: Remove unused __ptrdiff_t declaration 2025-11-07 11:27:51 +01:00
UFixedBigInt.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
UFixedBigIntDivision.h AK: Move generalized internals of UFixedBigIntDivision to BigIntBase 2024-03-25 14:26:29 -06:00
UnicodeUtils.h AK: Fix usage of constexpr within Utf16View and related utilities 2025-07-05 01:25:22 +12:00
Utf8View.cpp AK: Use memchr for Utf8View::contains() ASCII fast path 2026-05-11 11:33:24 +02:00
Utf8View.h AK: Remove public null state from StringView 2026-03-31 13:48:50 +01:00
Utf16FlyString.cpp AK: Cache hashes for fly string interning 2026-01-26 19:37:42 +01:00
Utf16FlyString.h AK: Make short ASCII string literals compile-time constants 2026-04-17 16:22:56 +02:00
Utf16String.cpp AK: Skip ASCII validation in {Utf16String,String}::number() 2025-10-05 11:24:46 +02:00
Utf16String.h AK: Make short ASCII string literals compile-time constants 2026-04-17 16:22:56 +02:00
Utf16StringBase.h AK+LibGfx: Prefer if consteval over is_constant_evaluated 2026-02-22 13:56:12 -05:00
Utf16StringData.cpp AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
Utf16StringData.h AK: Keep Utf16StringData trailing storage out of tail padding 2026-05-08 18:00:59 -04:00
Utf16View.cpp AK: Remove unused include from Utf16View 2026-02-17 12:38:51 +00:00
Utf16View.h AK: Fix Utf16View::operator<=> code-unit ordering on little-endian 2026-04-22 19:12:54 +02:00
Utf32View.cpp AK: Add a comparison operator for Utf32View 2024-10-20 08:50:01 +02:00
Utf32View.h AK: Add a UTF-16 string with optimized short- and ASCII-string storage 2025-07-18 12:45:38 -04:00
ValueComparingRefPtr.h AK: Allow comparing ValueComparingRefPtr with nullptr 2026-02-20 22:01:44 +00:00
Variant.h AK: Fix rvalue Variant downcast to variant aliases 2026-05-30 11:22:08 +02:00
Vector.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
Weakable.h AK: Remove fallible and unused WeakPtr/Weakable methods 2026-02-26 08:03:50 -05:00
WeakPtr.h AK+Everywhere: Add and use weak_callback() 2026-02-26 08:03:50 -05:00
Windows.h Everywhere: Abandon Swift adoption 2026-02-17 10:48:09 -05:00