ladybird/AK
Idan Horowitz b56b0ba689 AK: Eliminate avoidable strlen call in String::matches
We already know the length of these substrings, so there's no need to
check their lengths using strlen in the StringView(char*) constructor.

This patch also removes an accidental 1-byte OOB read that was left over
from when this method received null-terminated char pointers instead of
string views, as well removes the unnecessary lambda call (two of the
checks were impossible, and this was only called in one place, so we can
just inline it)
2021-09-28 00:31:45 +02:00
..
AllOf.h AK: Reimplement all_of in terms of find_if 2021-07-24 13:11:13 +04:30
AnyOf.h AK: Implement any_of using common implementation 2021-08-06 23:57:48 +02:00
Array.h AK: Stop publishing detail namespaced functions 2021-08-15 15:14:19 +02:00
Assertions.h AK+Kernel: Print TODO when a TODO() is executed 2021-08-04 11:01:16 +02:00
Atomic.h AK: Add free function to wrap around __atomic_is_lock_free built-in 2021-07-14 22:13:15 +01:00
Badge.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Base64.cpp Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
Base64.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BinaryBufferWriter.h AK: Add helper type for serializing structures into buffer 2021-07-18 19:58:17 +04:30
BinaryHeap.h AK+Userland: Use idan.horowitz@serenityos.org for my copyright headers 2021-04-22 22:42:38 +02:00
BinarySearch.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BitCast.h AK: Use __builtin_bit_cast if available 2021-08-21 13:48:59 +04:30
Bitmap.h AK: Sprinkle [[nodiscard]] on AK::Bitmap 2021-07-21 18:09:01 +02:00
BitmapView.h Bitmap: De-duplicate bitmasks 2021-05-19 23:37:10 +01:00
BitStream.h AK: Add big endian bit reading to InputBitStream 2021-06-25 20:48:14 +04:30
Buffered.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BumpAllocator.h AK: Give BumpAllocator a single-block cache 2021-09-13 14:38:53 +04:30
ByteBuffer.h Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
ByteReader.h AK: Generalize ByteReader 2021-07-14 11:26:34 +04:30
CharacterTypes.h AK: Add the to_ascii_base36_digit helper method 2021-06-29 16:55:54 +01:00
Checked.h AK: Make TypeBoundsChecker<UnsignedIntegralT, FloatingPointT> work 2021-07-22 21:19:40 +01:00
CheckedFormatString.h Everywhere: Make use of container version of all_of 2021-08-03 10:46:43 +02:00
CircularDeque.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CircularDuplexStream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CircularQueue.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
CMakeLists.txt Meta: Add support for declaring components 2021-06-17 11:03:51 +02:00
Complex.h Everywhere: Use AK/Math.h if applicable 2021-07-19 16:34:21 +04:30
Concepts.h AK: Add a concept for iterable containers 2021-07-22 22:56:20 +02:00
DateTimeLexer.h AK: Add a DateTimeLexer 2021-07-12 19:05:17 +01:00
Debug.h.in Userland: Remove IRC Client 2021-08-24 16:37:28 +02:00
Demangle.h AK: Remove unused ifdef for BUILDING_SERENITY_TOOLCHAIN 2021-09-20 00:39:46 +00:00
DisjointChunks.h AK: Add an abstraction over multiple disjoint buffers 2021-09-14 21:33:15 +04:30
DistinctNumeric.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
DoublyLinkedList.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Endian.h AK: Add formatters for BigEndian and LittleEndian 2021-08-02 00:25:11 +02:00
EnumBits.h AK+Kernel: Implement and use EnumBits has_any_flag() 2021-07-16 11:49:50 +02:00
ExtraMathConstants.h Userland: Move non-standard math constants from math.h 2021-04-27 23:06:16 +02:00
FileStream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Find.h AK: Rewrite {AnyOf,AllOf,Find}.h to use the IteratorPairWith concept 2021-07-22 22:56:20 +02:00
FixedArray.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
FixedPoint.h AK: Add FixedPoint arithmetic helper 2021-08-31 17:03:55 +04:30
FlyString.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
FlyString.h AK: Add a way to disable the trimming of whitespace in to_*int 2021-06-18 19:18:15 +01:00
Format.cpp Kernel: Add kernelearlyputstr and use it in dbgln in very-early boot 2021-09-10 22:58:08 +03:00
Format.h Everywhere: Pass AK::Format TypeErasedFormatParams by reference 2021-08-30 15:50:00 +04:30
Forward.h AK: Add GenericLexer to forwarding header 2021-08-19 23:49:25 +02:00
Function.h AK+Kernel: Fix perfect forwarding constructors shadowing others 2021-07-08 10:11:00 +02:00
GenericLexer.cpp AK: Add GenericLexer API to consume an escaped Unicode code point 2021-08-19 23:49:25 +02:00
GenericLexer.h AK: Add GenericLexer API to consume an escaped Unicode code point 2021-08-19 23:49:25 +02:00
HashFunctions.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HashMap.h AK+LibC: Remove SERENITY_LIBC_BUILD guard around <initializer_list> 2021-09-20 00:39:46 +00:00
HashTable.h AK: Mark HashTable::size_in_bytes() as constexpr 2021-09-10 14:33:53 +00:00
Hex.cpp Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
Hex.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IDAllocator.h AK: Use get_random() in IDAllocator 2021-08-30 18:35:36 +02:00
IntrusiveDetails.h AK: Make IntrusiveRedBlackTree capable of holding non-raw pointers 2021-09-08 19:17:07 +03:00
IntrusiveList.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
IntrusiveListRelaxedConst.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
IntrusiveRedBlackTree.h AK+Kernel: Reduce the number of template parameters of IntrusiveRBTree 2021-09-10 18:05:46 +03:00
IPv4Address.h AK: Implement IPv4Address::to_string_reversed() 2021-06-09 17:43:32 +04:30
IterationDecision.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Iterator.h AK: Make Vector capable of holding reference types 2021-06-08 19:14:24 +02:00
JsonArray.h AK: Use [[nodiscard]] in JsonObject and JsonArray 2021-06-29 13:18:03 +02:00
JsonArraySerializer.h AK: Make Json{Array,Object}Serializer ignore append() return values 2021-09-06 18:56:51 +02:00
JsonObject.h AK: Use [[nodiscard]] in JsonObject and JsonArray 2021-06-29 13:18:03 +02:00
JsonObjectSerializer.h AK: Make Json{Array,Object}Serializer ignore append() return values 2021-09-06 18:56:51 +02:00
JsonParser.cpp AK: Reduce the scope of fraction_string to where it's needed 2021-09-16 17:17:13 +02:00
JsonParser.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JsonPath.cpp Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
JsonPath.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
JsonValue.cpp Kernel+AK: Don't compile JSON parser into the kernel 2021-06-29 22:19:29 +02:00
JsonValue.h AK: Add a getter to JsonValue to get machine-native addresses 2021-07-22 08:57:01 +02:00
kmalloc.cpp AK: Declare operators new and delete as global functions 2021-07-05 20:23:42 +02:00
kmalloc.h AK: Add operator delete stub to all AK_MAKE_ETERNAL objects 2021-08-30 16:44:16 +02:00
kstdio.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LEB128.h AK: Don't perform the shift when it's too large when decoding LEB128 2021-08-31 16:37:49 +02:00
LexicalPath.cpp AK+Everywhere: Remove StringView::find_{first,last}_of(char) methods 2021-07-02 21:54:21 +02:00
LexicalPath.h AK: Use canonicalized_path in LexicalPath::relative_path 2021-06-30 11:13:54 +02:00
MACAddress.h Everywhere: Make use of container version of all_of 2021-08-03 10:46:43 +02:00
MappedFile.cpp AK: Use east const in MappedFile 2021-08-07 12:48:22 +02:00
MappedFile.h AK: Use east const in MappedFile 2021-08-07 12:48:22 +02:00
Math.h AK: Handle partial remainders 2021-08-08 10:55:36 +02:00
MemMem.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Memory.h AK: Add secure_zero() implementation so it can be used on all platforms 2021-09-13 00:02:42 +02:00
MemoryStream.h Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
NeverDestroyed.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Noncopyable.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullOwnPtr.h AK: Make traits for NonnullOwnPtr use ptr_hash instead of int_hash 2021-09-13 14:38:53 +04:30
NonnullOwnPtrVector.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullPtrVector.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
NonnullRefPtr.h Everywhere: Prevent risky implicit casts of (Nonnull)RefPtr 2021-09-03 23:20:23 +02:00
NonnullRefPtrVector.h AK: Make NonnullRefPtrVector constructible from Vector<NonnullRefPtr> 2021-06-11 00:30:09 +02:00
NumberFormat.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
NumericLimits.h AK/NumericLimits: Add lowest() for floating-point types 2021-05-22 13:38:34 +01:00
Optional.h AK: Add note about an internal compile error with Optional in GCC 10.3+ 2021-09-08 00:37:19 +02:00
OSError.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
OwnPtr.h AK+Kernel: Move KResult.h to Kernel/API for userspace access 2021-09-05 12:54:48 +02:00
Platform.h Kernel: Introduce basic pre-kernel environment 2021-07-18 17:31:13 +02:00
PrintfImplementation.h AK: Honor variable precision argument when formatting 2021-05-30 18:45:06 +01:00
Ptr32.h AK: Fix building Ptr32 on x86_64 2021-06-24 09:27:13 +02:00
Queue.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
QuickSort.h AK: Guarantee a maximum stack depth for dual_pivot_quick_sort 2021-04-28 21:38:48 +02:00
Random.cpp AK: Introduce get_random_uniform() 2021-05-14 22:24:02 +02:00
Random.h AK+LibCore: Standardize on AK_OS_MACOS instead of __APPLE__ 2021-09-12 18:31:10 +02:00
RecursionDecision.h AK: Add RecursionDecision 2021-08-07 15:21:58 +02:00
RedBlackTree.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
RefCounted.h AK: Pull RefCountedBase into the global namespace 2021-08-15 12:44:35 +02:00
RefPtr.h AK+Kernel: Move KResult.h to Kernel/API for userspace access 2021-09-05 12:54:48 +02:00
Result.h AK: Let Result<T, E> know its Value and Error types 2021-05-08 22:14:39 +02:00
ScopedValueRollback.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScopeGuard.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScopeLogger.h AK: Store the 'extra' field of ScopeLogger as String 2021-06-29 00:07:19 +04:30
SIMD.h AK: Add char SIMD types 2021-07-22 23:33:21 +02:00
Singleton.h AK: Bring Singleton into the global namespace with using 2021-08-08 00:03:45 +02:00
SinglyLinkedList.h AK: Make SinglyLinkedList::remove() public 2021-08-31 17:03:55 +04:30
SinglyLinkedListWithCount.h Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
SourceGenerator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SourceLocation.h AK+Userland: Use akaster@serenityos.org for my copyright headers 2021-05-30 14:35:34 +01:00
Span.h AK: Make Span::operator==() comply with the ISO C++ idea of operator== 2021-09-13 14:38:53 +04:30
Stack.h AK: Implement AK::Stack 2021-05-26 16:36:53 +04:30
StackInfo.cpp AK+LibCore: Standardize on AK_OS_MACOS instead of __APPLE__ 2021-09-12 18:31:10 +02:00
StackInfo.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Statistics.h AK: Add Statistics helper 2021-08-31 16:38:22 +02:00
StdLibExtraDetails.h AK: Add AssertSize utility template to provide rich type size assertions 2021-09-05 20:08:57 +02:00
StdLibExtras.h AK: Make declaration of std::move and std::forward optional 2021-09-04 16:32:54 +02:00
Stream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
String.cpp AK: Escape '"' in escape_html_entities 2021-09-12 12:17:16 +02:00
String.h AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
StringBuilder.cpp AK+Kernel: Avoid unescaped control chars in append_escaped_for_json() 2021-09-13 14:38:53 +04:30
StringBuilder.h Everywhere: Use OOM-safe ByteBuffer APIs where possible 2021-09-06 01:53:26 +02:00
StringHash.h AK: Make StringView::hash() constexpr 2021-05-14 15:24:32 +02:00
StringImpl.cpp AK: Use kfree_sized() in AK::StringImpl 2021-07-11 14:14:51 +02:00
StringImpl.h AK: Use kfree_sized() in AK::StringImpl 2021-07-11 14:14:51 +02:00
StringUtils.cpp AK: Eliminate avoidable strlen call in String::matches 2021-09-28 00:31:45 +02:00
StringUtils.h AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
StringView.cpp AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
StringView.h AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
TemporaryChange.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Time.cpp AK: Remove dead store from Time:operator+ 2021-09-01 01:22:14 +02:00
Time.h LibCore: Make DateTime's members signed 2021-08-19 19:15:00 +01:00
Traits.h AK: Add Traits for Enums 2021-08-27 23:35:27 +04:30
Trie.h AK: Add children() accessor to Trie 2021-06-08 12:15:04 +02:00
Try.h AK: Rename the local variable in the TRY() macro to avoid name clashes 2021-09-15 23:46:53 +01:00
Tuple.h AK: Correct Tuple's constructor signatures 2021-08-02 17:22:50 +04:30
TypeCasts.h AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
TypedTransfer.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TypeList.h Everywhere: "indexes" => "indices" 2021-04-29 22:23:52 +02:00
Types.h AK: Make explode_byte depend on sizeof(FlatPtr) instead of ARCH(...) 2021-08-26 22:00:17 +02:00
UBSanitizer.h LibSanitizer+AK: Add float cast overflow handler 2021-08-08 10:55:36 +02:00
UFixedBigInt.h AK: Fix UFixedBigInt not building with Clang 2021-07-08 10:11:00 +02:00
UnicodeUtils.cpp AK: Add UnicodeUtils with Unicode-related helper functions 2021-05-20 22:10:45 +02:00
UnicodeUtils.h AK: Add UnicodeUtils with Unicode-related helper functions 2021-05-20 22:10:45 +02:00
URL.cpp AK: Make URL::m_port an Optional<u16>, Expose raw port getter 2021-09-14 00:14:45 +02:00
URL.h AK: Move the path argument of URL::append_path instead of copying it 2021-09-14 00:14:45 +02:00
URLParser.cpp AK: Make URL::m_port an Optional<u16>, Expose raw port getter 2021-09-14 00:14:45 +02:00
URLParser.h AK: Accept optional url and state override parameters in URLParser 2021-09-14 00:14:45 +02:00
Userspace.h AK: Make C++ concepts support mandatory for compilers 2021-06-24 17:35:49 +04:30
Utf8View.cpp AK: Inline all the trivial Utf8View functions 2021-09-18 19:54:24 +02:00
Utf8View.h AK: Inline all the trivial Utf8View functions 2021-09-18 19:54:24 +02:00
Utf16View.cpp AK+LibJS: Implement String.from{CharCode,CodePoint} using UTF-16 strings 2021-08-04 11:18:24 +02:00
Utf16View.h AK: Add a formatter overload for Utf16View 2021-08-10 23:07:50 +02:00
Utf32View.h AK: Add the at()/operator[]() getter to Utf32View 2021-07-18 21:10:55 +04:30
UUID.cpp AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
UUID.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
Variant.h AK: Introduce ability to default-initialize a Variant 2021-09-21 04:22:52 +04:30
Vector.h AK: Remove unnecessary include of <new> for non-__serenity__ builds 2021-09-20 00:39:46 +00:00
Weakable.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
WeakPtr.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00